Ich habe zwei Listen mit unterschiedlichen ItemsSource
aber mit SelectedItem
auf die gleiche Eigenschaft gebunden existiert nicht - „Namen“.Unselect alle Elemente, wenn die SelectedItem etwas gebunden ist, die in der Liste
Zuerst wähle ich den Punkt "c" in der rechten Liste, so dass auch der Punkt "c" in der linken Liste ausgewählt ist.
Dann habe ich ein anderes Element in der rechten Liste ausgewählt, aber das "c" in der linken Liste ist immer noch ausgewählt. Ich verstehe, warum es das tut, aber kann ich es deaktivieren das "c" in der rechten Liste?
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>
-Code hinter:
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;
}
}
Sie wollen also nach wie vor „c“ in beiden Listen ausgewählt werden, aber wenn nur ein Element in einer Liste besteht die selction klar aus das andere? –
sa_ddam213 - genau! :) – Erez
Bitte beachten Sie, dass Ihr Fenster bereits eine Eigenschaft [Name] (http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.name.aspx) hat. Dein neu erschaffenes ist also im Konflikt mit dem existierenden. Und in der Eigenschaft Name fehlt eine Änderungsbenachrichtigung. – Clemens