0,0 → 1,55 |
using System.ComponentModel; |
using System.Globalization; |
using System.Resources; |
using System.Windows.Data; |
|
namespace MKLiveView |
{ |
public class TranslationSource : INotifyPropertyChanged |
{ |
private static readonly TranslationSource instance = new TranslationSource(); |
|
public static TranslationSource Instance |
{ |
get { return instance; } |
} |
|
private readonly ResourceManager resManager = Properties.Resources.ResourceManager; |
private CultureInfo currentCulture = null; |
|
public string this[string key] |
{ |
get { return this.resManager.GetString(key, this.currentCulture); } |
} |
|
public CultureInfo CurrentCulture |
{ |
get { return this.currentCulture; } |
set |
{ |
if (this.currentCulture != value) |
{ |
this.currentCulture = value; |
var @event = this.PropertyChanged; |
if (@event != null) |
{ |
@event.Invoke(this, new PropertyChangedEventArgs(string.Empty)); |
} |
} |
} |
} |
|
public event PropertyChangedEventHandler PropertyChanged; |
} |
|
public class LocExtension |
: Binding |
{ |
public LocExtension(string name) |
: base("[" + name + "]") |
{ |
this.Mode = BindingMode.OneWay; |
this.Source = TranslationSource.Instance; |
} |
} |
} |