如何在运行时更改 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>