WPF中的LED(红色/绿色)绑定到一个功能

时间:2017-07-11 04:17:32

标签: c# wpf

我想在我的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>

我的课程实现在

之下
public class MyStatus
{
     private string m_Name;
     private bool m_status;

     public bool Status
     {
            get { return m_status; }
            set { m_status = value; }
     }
}

如何将StatusEclipse链接到true的{​​{1}}和Green的{​​{1}}

的功能状态

1 个答案:

答案 0 :(得分:1)

您需要一个将true / false转换为Red / Green的转换器。

在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"/>

在CS中

public class StatusConverter : IValueConverter
{
    public object Convert(.....)
    {
        //Check for value and return a SolidColorBrush instance.
    }

    public object ConvertBack(.....)
    {
        throw NotImplementedException();
    }
}