C# 绑定到函数的WPF中的LED(红色/绿色)
我想在我的WPF UI中添加一个红色/绿色LED。下面给出了我的XAML文件和类的详细信息C# 绑定到函数的WPF中的LED(红色/绿色),c#,wpf,C#,Wpf,我想在我的WPF UI中添加一个红色/绿色LED。下面给出了我的XAML文件和类的详细信息 <ListView Grid.Column="1" Margin="10" Name="FVDataBinding"> <ListView.ItemTemplate> <DataTemplate> <WrapPanel> <TextBlock Text=" Status:
<ListView Grid.Column="1" Margin="10" Name="FVDataBinding">
<ListView.ItemTemplate>
<DataTemplate>
<WrapPanel>
<TextBlock Text=" Status: " />
<TextBlock Text="{Binding Status}" FontWeight="Bold" />
<Ellipse x:Name="StatusEllipse" Fill="#388E3C" Height="20" Stroke="Black" Width="20"/>
</WrapPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
如何将我的
StatusEclipse
链接到功能状态,其中true
用于Green
和false
用于Red
您需要一个将真/假转换为红/绿的转换器
在Xaml中
<Window.Resources>
<foobar:StatusConverter x:Key="StatusConverter" />
</Window.Resources
<Ellipse x:Name="StatusEllipse" Fill="{Binding Status, Converter={StaticResource StatusConverter}}" Height="20" Stroke="Black" Width="20"/>
您需要一个将真/假转换为红/绿的转换器。正如@Nikhil所建议的,在这种情况下使用转换器是过分的。您真正需要的是一个
样式
,带有一个设置器
(用于默认颜色)和一个数据触发器
(用于非默认颜色)。您可以将true
或false
设置为默认触发器;只需将另一个值用于数据触发器的值
。有关两种颜色都由触发器设置的变体(不是必需的,但这是另一种方式)。您也可以使用Style
和triggers
来执行此操作。没有额外的文件转换器!纯XAML.Agarwal-什么是foobar
?@liv2hak:这就是这个转换器所在的名称空间。
<Window.Resources>
<foobar:StatusConverter x:Key="StatusConverter" />
</Window.Resources
<Ellipse x:Name="StatusEllipse" Fill="{Binding Status, Converter={StaticResource StatusConverter}}" Height="20" Stroke="Black" Width="20"/>
public class StatusConverter : IValueConverter
{
public object Convert(.....)
{
//Check for value and return a SolidColorBrush instance.
}
public object ConvertBack(.....)
{
throw NotImplementedException();
}
}