我想在我的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}}
答案 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();
}
}