Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/260.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
C# 显示未触发转换器的索引_C#_Wpf_Xaml - Fatal编程技术网

C# 显示未触发转换器的索引

C# 显示未触发转换器的索引,c#,wpf,xaml,C#,Wpf,Xaml,我有数据网格,我将displayindex绑定到数据上下文(这并不重要)。我使用一个转换器,它接受一个字符串参数,该参数结合了字段名和表ID,从中我可以提取该列的订单号(从数据库) 但转换器从未启动,我认为这是因为回退 下面是xaml行: <DataGridTemplateColumn Header="Col1" DisplayIndex="{Binding CarID, Converter={StaticResource FieldNameToIndex}, FallbackValue

我有数据网格,我将displayindex绑定到数据上下文(这并不重要)。我使用一个转换器,它接受一个字符串参数,该参数结合了字段名和表ID,从中我可以提取该列的订单号(从数据库) 但转换器从未启动,我认为这是因为回退

下面是xaml行:

<DataGridTemplateColumn  Header="Col1" DisplayIndex="{Binding CarID, Converter={StaticResource FieldNameToIndex}, FallbackValue=0, ConverterParameter=Col1-9}">

在创建列后以编程方式创建绑定:

<DataGrid Loaded="DataGrid_Loaded">
    <DataGrid.Columns>
        <DataGridTemplateColumn x:Name="col1" Header="Col1">
        ...
    </DataGrid.Columns>
</DataGrid>
列一个接一个地被创建,在创建第一列时,
DataGrid
columns
集合中没有其他列,因此
DisplayIndex
只能设置为0

<DataGrid Loaded="DataGrid_Loaded">
    <DataGrid.Columns>
        <DataGridTemplateColumn x:Name="col1" Header="Col1">
        ...
    </DataGrid.Columns>
</DataGrid>
private void DataGrid_Loaded(object sender, RoutedEventArgs e)
{
    BindingOperations.SetBinding(col1, DataGridColumn.DisplayIndexProperty,
        new Binding("CarID") { Source = this, Converter = new FieldNameToIndex(), FallbackValue = 0 });
}