如何将WPF组合框选定的项目与值转换器绑定到标签?标签和组合框都是数据网格列

时间:2013-12-20 02:22:42

标签: c# .net wpf xaml mvvm

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

<Datagrid>
    <DataGrid.Columns>
       <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是视图模型中绑定到组合框选定项目的属性。

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

1 个答案:

答案 0 :(得分:0)

我认为你需要尝试 Mode = TwoWay

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