Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
<ListBox ItemsSource="{Binding Points}">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{f:Localizing Key=СoordinateX, StringFormat={}'{0}: '}"/>
<TextBlock Text="{Binding X}"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
this[() => Name].PropertyChanged += (o, e) => { ... };
PropertyChanged += (o, e) => { if (e.PropertyName == "Name") { ... } };
Теперь и на WinPhone можно писать
<TextBlock Text="{f:Localizing Key=ApplicationTitle}"/>
<...>, также обязательно указывать имя свойства Key, <...>
public Localize(string key): this()
{
Key = key;
}
public enum Cases
{
Default,
Lower,
Upper
}
public string Key { get; set; }
public Cases Case { get; set; }
public override object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
var key = Key;
var resourceManager = value as ResourceManager;
if (resourceManager == null || string.IsNullOrEmpty(key)) return ":" + key + ":";
var localizedValue = resourceManager.GetString(key) ?? ":" + key + ":";
switch (Case)
{
case Cases.Lower:return localizedValue.ToLower();
case Cases.Upper:return localizedValue.ToUpper();
default:return localizedValue;
}
}
Title="{m:Localizing Key=Hello, Case=Upper}"
WinPhone: пути к совершенству