У меня следующая проблема:
есть класс с парой строковых свойств
есть коллекция таких классов сущностей
Эта коллекция показана в виде дерева слева от некоторых окон, а детали показаны справа. Я связываю строковые свойства выбранного узла со списком в деталях.
Первый комбинированный список всегда имеет один и тот же ItemsSource, но второй ItemsSource зависит от SelectedItem первого комбо ...
<ComboBox
Grid.Column="1"
SelectedIndex="0"
x:Name="cbClass"
Style="{DynamicResource ComboBoxValidationError}"
SelectedValue="{Binding Path=Description.Node.ClassName, ElementName=userControl, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
ItemsSource="{Binding Source={StaticResource classesProvider}}"
Width="Auto"
Height="Auto"
DisplayMemberPath="Description"
SelectedValuePath="FQN" />
<ComboBox
Grid.Column="1"
SelectedIndex="0"
Grid.Row="1"
x:Name="cbMethod"
SelectedValue="{Binding Path=Description.Node.MethodName, ElementName=userControl, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged,diag:PresentationTraceSources.TraceLevel=High}"
ItemsSource="{Binding Path=SelectedItem.Methods, ElementName=cbClass, Mode=Default,diag:PresentationTraceSources.TraceLevel=High}"
Style="{DynamicResource ComboBoxValidationError}"
Width="Auto"
Height="Auto"
SelectedValuePath="Name"
DisplayMemberPath="Description" />
Теперь, когда я создаю новый узел в дереве, оба свойства строки имеют нулевую ссылку. И когда первая комбинация изменяет свой SelectedItem для узла NEW, вторая ComboBox связывает ноль со строковым значением узла OLD, которые были выбраны до создания нового узла в дереве ... Интересно, что мне делать в этом случае?