繁体   English   中英

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

[英]How to bind WPF combobox selected item with a Value Converter to a DataGridTextColumn? Both DataGridTextColumn and combobox are datagrid columns

我想将带有值转换器的组合框的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"列上使用值转换器。

因此,阻止您使用IValueConverter原因是什么。 在“资源”部分下声明并像这样使用它:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM