C# 绑定到函数的WPF中的LED(红色/绿色)

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:

我想在我的WPF UI中添加一个红色/绿色LED。下面给出了我的XAML文件和类的详细信息

<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();
    }
}