WPF Datagrid DataBinding DataView

时间:2014-11-10 18:27:30

标签: c# wpf xaml data-binding

预警抱歉WPF新人在这里:

我有一个DataGrid绑定到DataTable的DefaultView

ResultDataGrid.ItemsSource = resultTable.DefaultView;    

我知道列名,如果另一列是1(总是0或1),我需要更改列的前景

目前我所拥有的:

private void ResultDataGrid_AutoGeneratingColumn(object sender, DataGridAutoGeneratingColumnEventArgs e)
{
        if (e.Column.Header.ToString() == "columnName")
        {
            e.Column.CellStyle = FindResource("columnStyle") as Style;
        }
}

并在XAML中:

<Window.Resources>
    <Style TargetType="DataGridCell" x:Key="columnStyle">
        <Setter Property="Foreground" Value="Black"/>
        <Style.Triggers>
            <DataTrigger Binding="{Binding resultTable, Path={StaticResource otherColumnName}}" Value="1">
                <Setter Property="Foreground" Value="Red"/>
            </DataTrigger>
        </Style.Triggers>
    </Style>
</Window.Resources>

在构造函数

中设置otherColumnName
public ResultsCustom(DataTable resultclass, CustomQuery query)
{
    // Some other stuff
    this.Resources.Add("otherColumnName", COLUMN_NAME);
}

XAML Style似乎没有正确的路径,任何帮助都会受到赞赏!

1 个答案:

答案 0 :(得分:0)

我不确定这行代码:

Path={StaticResource otherColumnName}

您是否正在尝试比较该属性&#34; otherColumnName&#34;结果表是否为1?这不是一个静态资源,您可以将绑定更改为:

Path=otherColumnName