Вообщем суть проблемы такова:
Имеется XAML страница
в которой используется конвертер для отображения текста Enabled/Disabled в зависимости от значения булевой переменной.
<phone:PhoneApplicationPage.Resources>
<MyApp:OffOnConverter x:Key="OffOnConverter"
OffText="Disabled"
OnText="Enabled" />
</phone:PhoneApplicationPage.Resources>
.............
<toolkit:ToggleSwitch x:Name="ToggleSwitch"
Content="{Binding ElementName=ToggleSwitch, Path=IsChecked, Converter={StaticResource OffOnConverter} }"
/>
Т.е. значение поля ToggleSwitch.Content само изменяется в зависимости от того включен или выключен данный выключатель.
Вот код самого конвертера
public class OffOnConverter : IValueConverter
{
public string OffText { get; set; }
public string OnText { get; set; }
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
return (bool?)value == true ? OnText : OffText;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
Все было хорошо до момента пока в целях локализации приложения не захотелось прибиндить эти свойства(OffText, OnText) с помощью конструкции вида
<phone:PhoneApplicationPage.Resources>
<MyApp:OffOnConverter x:Key="OffOnConverter"
OffText="{Binding LocalizedText_Disabled}"
OnText="{Binding LocalizedText_Enabled}" />
</phone:PhoneApplicationPage.Resources>
При загрузке страницы вываливает эксепшн в стиле XamlParsingException, что судя по всему говорит о недопустимости такого хода...
В общем, дайте пожалуйста пинок в нужном направлении, куда копать? и как правильно это дело реализовать?
Чтобы свойства объекта вели себя так-же как и свойство объекта TextBlock.Text например.