为什么会这样:
<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是一个常规字符串。
我尝试过神经网络提供的各种绑定选项。我也尝试找到类似的解决方案,但没有一个有帮助。
以下代码正在运行:
<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”是项目类的属性。