這是最好的轉換器。您的代碼將是這個樣子:
<UserControl xmlns:myConverters="MyRandomNamespace">
<UserControl.Resources>
<myConverters:MyMenuTextConverter x:Key="MyMenuTextConverter" />
</UserControl.Resources>
<Grid x:Name="LayoutRoot">
<TextBlock Text="{Binding IsPlaying, Converter={StaticResource MyMenuTextConverter }}" />
</Grid>
</UserControl>
,並在轉換器:
namespace MyRandomNamespace
{
public class MyMenuTextConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if ((bool) value == true)
return "Pause";
return "Play";
}
}
}
我已經使用了TextBlock
顯示背後的聯結概念,所有你需要做的就是使用相同的綁定在MenuItem的適當屬性上的語法。我還從轉換器返回不是最佳的文本文本(我個人喜歡我的文本轉換器從字符串資源文件中檢索它們的值,以便我的應用程序能夠識別文件),但您明白了。
我第一次投票贊成轉換答案,但我想我最終會選擇這個。雖然看起來相對簡單,但這個解決方案可能是最簡單,最快速的 – David 2011-02-16 10:02:29