如何将WPF组合框选定项与值转换器绑定到DataGridTextColumn? DataGridTextColumn和combobox都是datagrid列

时间:2013-12-20 19:08:59

标签: c# .net wpf silverlight mvvm

我希望将组合框的SelectedItem与值转换器绑定到DataGridTextColumn之后。我正在使用MVVM模式。

<Datagrid>
    <DataGridTemplateColumn Header="Left">
        <DataGridTemplateColumn.CellTemplate>
            <DataTemplate>
                <ComboBox Name="Leftcombo"
                          ItemsSource="{Binding Path=DataContext.Column, RelativeSource={RelativeSource AncestorType=Window}}"
                          SelectedItem="{Binding SelectedColumn, UpdateSourceTrigger=PropertyChanged}"/>
            </DataTemplate>
        </DataGridTemplateColumn.CellTemplate>
    </DataGridTemplateColumn>

    <DataGridTextColumn Header="Right"
                        Binding="{Binding SelectedColumn, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}"/>
    </DataGrid.Columns>
</DataGrid>

请注意:SelectedColumn是ViewModel中绑定到组合框SelectedItem的属性。

绑定的工作方式与上面的XAML相同,但我想在DataGridTextColumn Header="Right"列上使用值转换器。

1 个答案:

答案 0 :(得分:0)

那么是什么阻止你使用IValueConverter。在资源部分下声明并使用它:

<DataGrid.Resources>
   <namespace:MyConverter x:Key="MyConverter"/>
</DataGrid.Resources>
.....
<DataGridTextColumn Header="Right"
                    Binding="{Binding SelectedColumn, Mode=OneWay, 
                                      UpdateSourceTrigger=PropertyChanged,
                                      Converter={StaticResource MyConverter}}"/>