Ho due liste con diverso ItemsSource
ma con SelectedItem
legato alla stessa proprietà - "Nome".Deseleziona tutti gli elementi durante il SelectedItem è tenuto a qualcosa che non esiste nella lista
Per prima cosa scelgo l'elemento "c" nell'elenco di destra in modo che sia selezionato anche l'elemento "c" nell'elenco di sinistra.
Quindi ho selezionato un altro elemento nell'elenco di destra ma la "c" nell'elenco di sinistra è ancora selezionata. Capisco perché lo faccia, ma posso rendere deseleziona la "c" nella lista giusta?
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>
codice dietro:
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;
}
}
Così si vuole ancora "c" per essere selezionato in entrambe le liste, ma quando un elemento esiste in una sola lista cancellare il selction da l'altro? –
sa_ddam213 - esattamente! :) – Erez
Si prega di tenere presente che la finestra ha già una proprietà [Nome] (http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.name.aspx). Quindi il tuo nuovo creato è in conflitto con quello esistente. E la proprietà Name non contiene una notifica di modifica. – Clemens