2013-01-06 31 views
6

içinde olmayan bir şeyi bağlı olduğu tüm öğeleri farklı ItemsSource ile aynı özelliğine bağlı SelectedItem ile iki listeleri var - "İsim".seçimini kaldır SelectedItem listesinde

Önce "c" öğesini sağ listeden seçiyorum, böylece sol listedeki "c" öğesi de seçilsin.

Doğru listeden başka bir öğe seçtiğimden, ancak soldaki listede "c" hala seçili. Bunu neden yaptığını anlıyorum, ancak doğru listede "c" nin seçimini kaldırabilir miyim?

enter image description here

XAML:

<Grid> 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition /> 
     <ColumnDefinition /> 
    </Grid.ColumnDefinitions> 

    <ListView SelectedItem="{Binding Name}" ItemsSource="{Binding lstNames1}"/> 
    <ListView SelectedItem="{Binding Name}" ItemsSource="{Binding lstNames2}" Grid.Column="1"/> 
</Grid> 

Kod arkasında: Eğer SelectedItem bunun istediğiniz nasıl davranacağı SelectedValue bağlanma geçerseniz

public partial class selected : Window 
{ 
    public ObservableCollection<string> lstNames1 { get; set; } 
    public ObservableCollection<string> lstNames2 { get; set; } 

    public string Name { get; set; } 


    public selected() 
    { 
     Names1 = new ObservableCollection<string> {"a1", "b1", "c"}; 
     Names2 = new ObservableCollection<string> { "a2", "b2", "c" }; 
     InitializeComponent(); 
     DataContext = this; 
    } 
} 
+0

Demek hala istiyoruz "c" make

<ListView SelectedValue="{Binding Name}" ItemsSource="{Binding lstNames1}" /> <ListView SelectedValue="{Binding Name}" ItemsSource="{Binding lstNames2}" Grid.Column="1"/> 

Umut iki listede seçilen, ancak bir öğe yalnızca tek bir listede mevcut olduğunda gelen Selction temizlemek üzere diğeri? –

+0

sa_ddam213 - tam olarak! :) – Erez

+0

Lütfen pencerenizin zaten bir [Name] (http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.name.aspx) özelliği olduğunu unutmayın. Böylece yeni yarattığınız kişi mevcut olanla çatışıyor. Ayrıca, Ad mülkünüzde bir değişiklik bildirimi eksik. – Clemens

cevap

7

, SelectedItem çünkü onun temizleyerek değil null olarak ayarlanmadı, çünkü diğer liste bir değer ayarladı, SelectedValue, bir öğeyi bulması veya listede SelectedItem numarasını temizleyeceği için biraz farklı davranır. duyu :)

enter image description here enter image description here

+0

Bellissimo, teşekkürler. – Erez