Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wpf 绑定到gridviewdatacolumn中的形状_Wpf_Xaml_Telerik - Fatal编程技术网

Wpf 绑定到gridviewdatacolumn中的形状

Wpf 绑定到gridviewdatacolumn中的形状,wpf,xaml,telerik,Wpf,Xaml,Telerik,请原谅我的无知。。。 我希望列的每个单元格中都有一个小矩形,可以根据DB中的值更改颜色。我现在已经让它工作,以便单元格背景改变颜色: <telerik:GridViewDataColumn.CellStyle> <Style TargetType="telerik:GridViewCell"> <Style.Triggers>

请原谅我的无知。。。 我希望列的每个单元格中都有一个小矩形,可以根据DB中的值更改颜色。我现在已经让它工作,以便单元格背景改变颜色:

<telerik:GridViewDataColumn.CellStyle>
    <Style TargetType="telerik:GridViewCell">                                            
        <Style.Triggers>
                        <DataTrigger Binding="{Binding NewEmployee}" Value="True">                   
                <Setter Property="Background" Value="Yellow"/>                                                       
            </DataTrigger>                                                  
        </Style.Triggers>                                                                                                      
</telerik:GridViewDataColumn.CellStyle>
<telerik:GridViewDataColumn.CellTemplate>
    <DataTemplate>

        <!--HERE have <Rectangle Width="10" Height="10"/>-->   

    </DataTemplate>
</telerik:GridViewDataColumn.CellTemplate>  
谢谢你

CS:

public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();
        this.DataContext = this;
    }

    public List<MyItem> Items
    {
        get { return new List<MyItem> { new MyItem { Value = 1, IsEmpty = true }, new MyItem { Value = 2, IsEmpty = false } }; }
    }
}

public class MyItem
{
    public int Value { get; set; }
    public bool IsEmpty { get; set; }
}
XAML:

          <DataGrid AutoGenerateColumns="False" CanUserAddRows="False" ItemsSource="{Binding Items}">                     
        <DataGrid.Columns>
            <DataGridTemplateColumn >
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <Grid>
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition />
                                <ColumnDefinition />
                            </Grid.ColumnDefinitions>

                            <Rectangle  x:Name="rect" Fill="Green" Stretch="Uniform"  />
                            <ContentPresenter Grid.Column="1" Content="{Binding Value}"/>

                        </Grid>                               

                        <DataTemplate.Triggers>
                            <DataTrigger Binding="{Binding IsEmpty}" Value="True">
                                <Setter TargetName="rect" Property="Fill" Value="Red" />
                            </DataTrigger>
                        </DataTemplate.Triggers>

                    </DataTemplate>
                </DataGridTemplateColumn.CellTemplate>
            </DataGridTemplateColumn>
        </DataGrid.Columns>
    </DataGrid>

有没有一种方法可以在不创建列表的情况下执行此操作。我的项目已返回“true”或“false”