WPF中的LED(红色/绿色)与功能绑定[重复]

zed5wv10  于 11个月前  发布在  其他
关注(0)|答案(1)|浏览(89)

此问题在此处已有答案

Style object based on binding bool attribute in wpf(2个答案)
Change Rectangle Background to Reflect State of Boolean in DataContext in WPF(1个答案)
How to set background color based on bool property in WPF(2个答案)
6年前关闭。
我想添加一个红色/绿色LED到我的WPF用户界面。我的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用于Greenfalse用于Red

t0ybt7op

t0ybt7op1#

您需要一个转换器,将true/false转换为红色/绿色。

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

相关问题