我正在使用MVVM将ComboBox绑定到我的WPF应用程序中的ObservableCollection。 但是,我需要在此组合框中使一个或多个项目“不可选”。 我还应该提到,组合框被用于DataGrid。ComboBox中的只读项目
我想,我可以使用某种ValueConverter。但我无法弄清楚如何。
当前XAML:
<DataGridTemplateColumn Width="Auto">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Type.Name}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<StackPanel DataContext="{Binding DataContext.CurrentListUser,
RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}">
<ComboBox ItemsSource="{Binding Types}"
DisplayMemberPath="Name"
SelectedValue="{Binding TypeId,
Mode=TwoWay,
UpdateSourceTrigger=PropertyChanged}"
SelectedValuePath="Id" />
</StackPanel>
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
</DataGridTemplateColumn>
根据您确定哪些项目应为只读? –
“只读”和“不可选择”对我来说是两种不同的东西 - 你想要什么? – blindmeis