DataGridComboBoxColumn 中的绑定不起作用

问题描述 投票:0回答:1

为什么会这样:

<DataGridComboBoxColumn Header="Format"
         SelectedItemBinding="{Binding Format, UpdateSourceTrigger=PropertyChanged}"
         ItemsSource="{Binding Source={StaticResource with formatenumvalues}}"
IsReadOnly="False"/>

这也是它的工作原理:

<DataGridTemplateColumn Header="Category">
<DataGridTemplateColumn.CellTemplate>
        <DataTemplate>
            <ComboBox ItemsSource="{Binding CategoryList, UpdateSourceTrigger=PropertyChanged}"
                      SelectedItem="{Binding Category, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}">
            </ComboBox>
        </DataTemplate>
    </DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>

但不是这样的:

<DataGridComboBoxColumn Header="Category"
         SelectedItemBinding="{Binding Category, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
         ItemsSource="{Binding CategoryList, UpdateSourceTrigger=PropertyChanged}"
         IsReadOnly="False"/>

DataGridComboBoxColumn 只能使用静态资源还是还有其他问题? 这里的categoryList是ObservableCollection,Category是一个常规字符串。

我尝试过神经网络提供的各种绑定选项。我也尝试找到类似的解决方案,但没有一个有帮助。

c# wpf datagridcomboboxcolumn
1个回答
0
投票

以下代码正在运行:

<DataGridComboBoxColumn    SelectedValueBinding="{Binding Category, UpdateSourceTrigger=PropertyChanged}">
                    <DataGridComboBoxColumn.ElementStyle>
                        <Style TargetType="{x:Type ComboBox}">
                            <Setter Property="ItemsSource" Value="{Binding CategoryList}"/>
                            <Setter Property="VerticalAlignment" Value="Center"/>
                        </Style>
                    </DataGridComboBoxColumn.ElementStyle>
                    <DataGridComboBoxColumn.EditingElementStyle>
                        <Style TargetType="{x:Type ComboBox}">
                            <Setter Property="ItemsSource" Value="{Binding CategoryList}"/>
                            <Setter Property="VerticalAlignment" Value="Center"/>
                        </Style>
                    </DataGridComboBoxColumn.EditingElementStyle>
                </DataGridComboBoxColumn>

“Category”和“CategoryList”是项目类的属性。

© www.soinside.com 2019 - 2024. All rights reserved.