我的 ViewModel 中有一个名为 IsConnected
的 bool 属性,我想将它绑定(bind)到我的 MainWindow 中的 TextBlock。而不是让文本 block 读取 true
或 false
我需要它说 Connected
或 Disconnected
。请原谅我,因为我是 WPF 的新手。如果有人能给我一个先机,我可以从那里开始,但我不确定如何弄清楚我需要什么。
最佳答案
最简单的方法可能是创建一个自定义转换器,将您的 bool 值转换为字符串。在任何地方搜索 IValueConverter 和/或 WPF。
public class BoolToConnectedConverter : IValueConverter
{
#region IValueConverter Members
public object Convert(object value, Type targetType, object parameter,
System.Globalization.CultureInfo culture)
{
if((bool)value)
return "Connected";
else
return "Disconnected";
}
public object ConvertBack(object value, Type targetType, object parameter,
System.Globalization.CultureInfo culture)
{
throw new NotSupportedException();
}
#endregion
}
添加xmlns:
xmlns:converter="clr-namespace:MyProjectNameSpace"
将资源添加到 XAML(更改为所需的任何元素)
<Window.Resources>
<converter:BoolToConnectedConverter x:Key="connectedConverter" />
</Window.Resources>
在 XAML 中:
<TextBlock Text={Binding IsConnected, Converter={StaticResource connectedConverter}" />
关于WPF 数据绑定(bind)和格式化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4220210/