如何在运行时更改 gridview 中存在的椭圆颜色?
How to change the Ellipse color which is present in the gridview in runtime?
<DataGrid AutoGenerateColumns="False" Height="330" HorizontalAlignment="Left" Margin="5,70,0,0" Name="grdDeviceInfo" VerticalAlignment="Top"
CanUserAddRows="False" IsReadOnly="True" Width="368" HorizontalScrollBarVisibility="Auto">
<DataGrid.Columns>
<DataGridTextColumn Header="Channels" Width="100" Binding="{Binding ChannelNo}"></DataGridTextColumn>
<DataGridTextColumn Header="Label" Width="200" Binding="{Binding Label}"></DataGridTextColumn>
<DataGridTemplateColumn Header="Status" Width="60">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Ellipse Height="13" Name="grdfEllipse" Stroke="Black" Fill="{}" Width="20"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
隐藏代码:
List<IOInformation> lstIOStatus = new List<IOInformation>();
for (int i = 0; i < channelStatus.Count(); i++)
{
// var columns = line.Split('\t');
lstIOStatus.Add(new IOInformation
{
ChannelNo = "Channel " + j++,
Label = labeldata[i],
MasterStatus = Convert.ToBoolean(channelStatus[i])
});
}
this.grdDeviceInfo.ItemsSource = lstIOStatus;
如果为真,我想将椭圆颜色更改为绿色,如果为假,则为红色。
您可以使用触发器来执行此操作。这是关于如何使用它们的 link :
http://www.wpf-tutorial.com/styles/trigger-datatrigger-event-trigger/
您的 xaml 代码如下所示:
<Ellipse Height="13" Name="grdfEllipse" Stroke="Black" Width="20">
<Ellipse.Style>
<Setter Property="Fill" Value="Red"/>
<Style TargetType="Ellipse">
<Style.Triggers>
<DataTrigger Binding="{Binding yourBinding}" Value="true">
<Setter Property="Fill" Value="Green"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Ellipse.Style>
</Ellipse>
<DataGrid AutoGenerateColumns="False" Height="330" HorizontalAlignment="Left" Margin="5,70,0,0" Name="grdDeviceInfo" VerticalAlignment="Top"
CanUserAddRows="False" IsReadOnly="True" Width="368" HorizontalScrollBarVisibility="Auto">
<DataGrid.Columns>
<DataGridTextColumn Header="Channels" Width="100" Binding="{Binding ChannelNo}"></DataGridTextColumn>
<DataGridTextColumn Header="Label" Width="200" Binding="{Binding Label}"></DataGridTextColumn>
<DataGridTemplateColumn Header="Status" Width="60">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Ellipse Height="13" Name="grdfEllipse" Stroke="Black" Fill="{}" Width="20"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
隐藏代码:
List<IOInformation> lstIOStatus = new List<IOInformation>();
for (int i = 0; i < channelStatus.Count(); i++)
{
// var columns = line.Split('\t');
lstIOStatus.Add(new IOInformation
{
ChannelNo = "Channel " + j++,
Label = labeldata[i],
MasterStatus = Convert.ToBoolean(channelStatus[i])
});
}
this.grdDeviceInfo.ItemsSource = lstIOStatus;
如果为真,我想将椭圆颜色更改为绿色,如果为假,则为红色。
您可以使用触发器来执行此操作。这是关于如何使用它们的 link :
http://www.wpf-tutorial.com/styles/trigger-datatrigger-event-trigger/
您的 xaml 代码如下所示:
<Ellipse Height="13" Name="grdfEllipse" Stroke="Black" Width="20">
<Ellipse.Style>
<Setter Property="Fill" Value="Red"/>
<Style TargetType="Ellipse">
<Style.Triggers>
<DataTrigger Binding="{Binding yourBinding}" Value="true">
<Setter Property="Fill" Value="Green"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Ellipse.Style>
</Ellipse>