Mam w swoim Widoku, dwie kontrolki "ListView" obie wyświetlają kolekcje tego samego typu obiektów ale pierwsza, wyświetla "wszystkie wczytane" a druga tylko pewien zakres z tych wszystkich wczytanych.
"SelectedItem" każdej z ListView jest zbindowany do tej samej właściwości ModeluWidoku - nazwanej "ZaznaczonyProfil", ponieważ w innym miejscu w Widoku pokazuje szczegóły tego "ZaznaczonegoProfilu" - tam jest mnóstwo właściwości.
I generalnie chodzi mi o to że jak zaznaczę na ListView1 jakiś profil to chce zobaczyć jego szczegóły, ale jak zaznaczę jakiś profil na ListView2 to chce żeby to jego szczegóły się wyświetliły.
Czyli w skrócie: ostatnio zaznaczony profil, niezależnie na którym ListView, ma być wyświetlony w szczegółach.
Teraz mam tak ze jak zaznaczę cos na ListView1 a potem na ListView2 to faktycznie szczegóły mi się pokazują z tego zaznaczonego na ListView2 ale przy okazji na ListView1 ta belka zaznaczenia zostaje widoczna i mylnie może sugerować ze to stamtąd pochodzą szczegóły zaznaczonego profilu.
Próbowałem w obu ListView dać Mode=OneWayToSource ale to nie rozwiązuje problemu.
Teraz szukam sposobu aby podczas zaznaczenia na jednym ListView jakiegoś obiektu na drugim ListView zniknęła belka - ale nie wiem jak to osiągnąć.
Zależy mi na utrzymaniu tego w MVVM
Przykład definicji obu ListView i tego widoku szczegółów zaznaczonego profilu.
ListView z całą pulą wszystkich profili
<ListView Margin="2" x:Name="ListView_WszystkieProfile"
ItemsSource="{Binding WczytaneProfileZPlikow}"
SelectedItem="{Binding ZaznaczonyProfil, Mode=OneWayToSource}">
<i:Interaction.Triggers>
<ListView.View>
<GridView AllowsColumnReorder="False" >
<GridView.ColumnHeaderContainerStyle>
<Style TargetType="{x:Type GridViewColumnHeader}">
<Setter Property="IsEnabled" Value="False"/>
<Style.Triggers>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="TextElement.Foreground" Value="Black"/>
</Trigger>
</Style.Triggers>
</Style>
</GridView.ColumnHeaderContainerStyle>
<GridView.Columns>
<GridViewColumn Header="Nazwa pliku profilu" DisplayMemberBinding="{Binding NazwaProfilu}"/>
</GridView.Columns>
</GridView>
</ListView.View>
</ListView>
ListView tylko z pewną grupą profili z puli wszystkich wczytanych profili
<ListView Margin="2" x:Name="ListView_ProfileWybranejGrupy"
ItemsSource="{Binding ZaznaczonaNaLiscieGrupaProfili.ProfileTejGrupy}"
SelectedItem="{Binding ZaznaczonyProfil}">
<ListView.View>
<GridView AllowsColumnReorder="False" >
<GridView.ColumnHeaderContainerStyle>
<Style TargetType="{x:Type GridViewColumnHeader}">
<Setter Property="IsEnabled" Value="False"/>
<Style.Triggers>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="TextElement.Foreground" Value="Black"/>
</Trigger>
</Style.Triggers>
</Style>
</GridView.ColumnHeaderContainerStyle>
<GridView.Columns>
<GridViewColumn Header="Nazwa pliku profilu" DisplayMemberBinding="{Binding NazwaProfilu}"/>
</GridView.Columns>
</GridView>
</ListView.View>
</ListView>
Szczegóły zaznaczonego profilu
<Label Content="{Binding ZaznaczonyProfil.TempUp_01}"
Grid.Row="1" Grid.Column="1" HorizontalAlignment="Center" Foreground="#FFEF8C12">
<Label.Resources>
<Style TargetType="Label" BasedOn="{StaticResource EtykietaNastawy}"/>
</Label.Resources>
</Label>
<Label Content="{Binding ZaznaczonyProfil.TempUp_02}"
Grid.Row="1" Grid.Column="2" HorizontalAlignment="Center" Foreground="#FFEF8C12">
<Label.Resources>
<Style TargetType="Label" BasedOn="{StaticResource EtykietaNastawy}"/>
</Label.Resources>
</Label>
<Label Content="{Binding ZaznaczonyProfil.TempUp_03}"
Grid.Row="1" Grid.Column="3" HorizontalAlignment="Center" Foreground="#FFEF8C12">
<Label.Resources>
<Style TargetType="Label" BasedOn="{StaticResource EtykietaNastawy}"/>
</Label.Resources>
</Label>
<!-- i tak dalej dla sekcji TempUp jest od 01 do 20 potem jest sekcja TempDown, a potem drugie tyle, tyle ze z VentUp i VentDown-->