我寫了一個轉換器BoolToStringConverter。轉換器有兩個屬性TrueString和FalseString。下面是我如何XAML綁定到自定義轉換器的屬性
<UserControl.Resources>
<local:BooleanToStringConverter x:Key="BooleanToStringConverter" TrueString="{Binding Strings.Open, Source={StaticResource MyStrings}}"></local:BooleanToStringConverter>
</UserControl.Resources>
這將編譯好的使用它,但在運行它時,我得到一個xml解析異常。如果我將TrueString屬性的設置更改爲TrueString =「Open」,它一切正常。
這裏是正在使用的轉換器:
<Button x:Name="MyButton" Content="{Binding Path=IsOpen, Converter={StaticResource BooleanToStringConverter}}" Command="{Binding MyCommand}" VerticalAlignment="Top" Style="{StaticResource MyStyle}" Margin="0,2,10,2"/>
任何想法有什麼不好?我所要做的就是將本地資源的屬性設置爲本地化值。
編輯這裏是我的轉換器類
public class BooleanToStringConverter : IValueConverter
{
public BooleanToStringConverter()
{
}
public string TrueString
{
get;
set;
}
public string FalseString
{
get;
set;
}
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
bool boolValue = System.Convert.ToBoolean(value, CultureInfo.InvariantCulture);
return boolValue ? TrueString : FalseString;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
這裏的運行時異常消息:
型「System.Windows.Markup.XamlParseException」的第一次機會異常出現在System.Windows.dll中
附加信息:設置屬性'Optimize.Client.Presentation.BooleanToStringConverter.FalseString'引發異常。 [Line:18 Position:86]
是'TrueString'依賴屬性?你可以發佈消息,xaml解析異常的內部異常嗎? – nemesv
嗨nemesv - 感謝您的答覆。我編輯了我的帖子以包含您要求的詳細信息。乾杯 – rockshire