依赖组合框覆盖数据

时间:2010-01-22 03:02:01

标签: wpf listview binding combobox

我有一个非常奇怪的情况与依赖的组合框架,我即将拔掉我的头发!

我有3个组合框,可以显示列表视图中所选项目的数据以进行编辑。 UserControl的DataContext与列表框相同。

当我选择列表框中的不同项目时,第2和第3个组合中的数据将被删除,因此将初始行中的数据设置为消失。其他Comboboxes正常工作。

我还试图让这些组合框独立于Dropdown Close上的代码丢失子数据,但这不起作用,因为绑定到第3个(可空)

<!-- User Control Resources -->
    <CollectionViewSource x:Key="cvsNatureCategoryGroup"/>
    <CollectionViewSource x:Key="cvsNatureCategory" Source="{Binding Path=NatureCategories, Source={StaticResource cvsNatureCategoryGroup}}" />
     <CollectionViewSource x:Key="cvsNatureCategorySub" Source="{Binding Path=NatureCategorySubs, Source={StaticResource cvsNatureCategory}}" />

<!-- Combo Boxes -->
         <ComboBox Grid.Column="1" Grid.Row="1" 
                                SelectedValue="{Binding Path=NatureCategoryGroupId, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, NotifyOnValidationError=True, ValidatesOnDataErrors=True, ValidatesOnExceptions=True}"
                              IsSynchronizedWithCurrentItem="True" 
                                SelectedValuePath="NatureCategoryGroupId"
                              ItemsSource="{Binding Source={StaticResource cvsNatureCategoryGroup}}"
                               Name="cboNatureCategoryGroupId" 
                            DisplayMemberPath="NatureCategoryGroupName"
                             />
 <ComboBox Grid.Column="1" Grid.Row="2" 
                             SelectedValuePath="NatureCategoryId"
                             SelectedValue="{Binding Path=NatureCategoryId,
                            Mode=TwoWay, UpdateSourceTrigger=PropertyChanged,
                            NotifyOnValidationError=True, ValidatesOnDataErrors=True,
                            ValidatesOnExceptions=True}"
                                  IsSynchronizedWithCurrentItem="True" 

                            ItemsSource="{Binding Source={StaticResource cvsNatureCategory}}"
              DisplayMemberPath="NatureCategoryName"
                               Name="cboNatureCategory" />

 <ComboBox y:ComboUtil.AllowNull="True" 
                                Grid.Column="1" Grid.Row="4" 
                                SelectedValue="{Binding Path=NatureCategorySubId, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, NotifyOnValidationError=True, ValidatesOnDataErrors=True, ValidatesOnExceptions=True}" 
                                      IsSynchronizedWithCurrentItem="True" 
                            SelectedValuePath="NatureCategorySubId"

                                       ItemsSource="{Binding Source={StaticResource cvsNatureCategorySub}}"
                                      Name="cboNatureSubCategory" />

当我在列表框中向上和向下滚动时,第二个和第三个组合框变为空白并删除其中的数据值,而不会更改下面的任何数据。

HELP

0 个答案:

没有答案