2009-03-03 26 views
1

Aşağıdaki sorun var: toplama solunda ağacında gösterilmiştir Yani böyle sınıf varlıklarWPF 2 ComboBox bağlama sorunu

koleksiyonu var
dize özelliklerinin bir çift ile bir sınıf
var sağda gösterilen bazı pencereler ve detaylar. Seçilen düğümün dize özelliklerini combobox'lara ayrıntılı olarak bağlarım.
İlk combobox her zaman aynı ItemsSource var ama ağaçta yeni bir düğüm oluştururken ikincisi ItemsSource Şimdi ... ilk combo SelectedItem üzerinde

<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" /> 

bağlıdır, hem dize özellikleri null başvuru var. Ve ilk combo, SelectedItem'i NEW node için değiştirdiğinde, ikinci ComboBox, null'ı ağacın içinde yeni bir düğüm oluşturmadan önce seçilen OLD düğümünün dize değerine bağlar ... Bu durumda ne yapmalıyım acaba?

cevap

1

Sadece bir cevap buldum.
Bağlama bildirimleri sırasına göre bildirilir, WPF bağlamaların bağımlılıklarını analiz etmeyecektir :) Bu nedenle ComboBoxes takas bildirimleri sorunu çözer ... Bu senaryoda kabul edilebilir çünkü bu ComboBox'ları Kılavuza manuel olarak Grid.Row ve Grid.Column ... Çözüm çok hoş olmamasına rağmen, işe yarıyor!