我有一个ListBox
在绑定到的表单上ObservableCollection
自定义类型。每个项目内都有一个ComboBox
绑定到枚举类型。当窗口加载时,所有ComboBox
es 默认为某个值。当我改变SelectedItem
对于任何一个(来自 UI,而不是来自代码),所有其他ComboBox
es 更改为相同SelectedItem
.
我不确定我做错了什么,这是我当前处理此问题的 XAML。
<Window.Resources>
<ObjectDataProvider x:Key="SyncOperationValues"
MethodName="GetNames"
ObjectType="{x:Type sys:Enum}">
<ObjectDataProvider.MethodParameters>
<x:Type TypeName="local:SyncOperationEnum" />
</ObjectDataProvider.MethodParameters>
</ObjectDataProvider>
...
<DataTemplate x:Key="SyncListTemplate">
<Grid Grid.Column="1" Grid.RowSpan="2" Margin="0,0,20,0" x:Name="olDetails"
DataContext="{Binding Path=OlContact}">
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
<RowDefinition />
<RowDefinition />
<RowDefinition />
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
...
<ComboBox x:Name="SyncOp"
Width="120" Height="19"
Margin="4,0,10,0"
IsSynchronizedWithCurrentItem="True"
ItemsSource="{Binding Source={StaticResource SyncOperationValues}}"
SelectedItem="{Binding Operation}"
VerticalAlignment="Center" />
...
and the ListBox
:
<ListBox x:Name="SyncList"
ScrollViewer.HorizontalScrollBarVisibility="Hidden"
ItemContainerStyle="{StaticResource StretchedContainerStyle}"
ItemTemplate="{StaticResource SyncListTemplate}">
ListBox>
我尝试了一些不同的选项,比如绑定到CollectionView
;但似乎没有任何作用。谁能指出我的错误吗?
Thanks!
我遇到了与此类似的情况,并将 ComboBox 上的 IsSynchronizedWithCurrentItem 属性设置为“False”修复了该问题。按照我的理解,将值设置为“True”意味着组合框值将同步列表框当前项目的值。基本上,所有 ComboBox 都绑定到相同的值。听起来这就是你正在经历的事情。尝试:
IsSynchronizedWithCurrentItem="False"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)