Je suis en train de créer une fenêtre 'Préférences' dans mon programme C# WPF.C# WPF - Comment modifier la grille affichée d'une fenêtre 'Préférences' en utilisant un ListView?
Le but de cette fenêtre est d'avoir un ListView sur la gauche, et une liste de contrôles modifiables sur la droite.
Chaque élément de ListView correspond directement à une grille contenant tous les contrôles sous le contenu de l'élément sélectionné.
Une fois l'élément dans ListView modifié, la visibilité de la grille actuelle doit être réduite et la grille qui correspond à la visibilité de l'élément sélectionné doit être modifiée pour être visible.
Je pensais que DataBinding pourrait fonctionner pour cela, mais je n'ai aucune idée de comment l'utiliser. Quelqu'un pourrait m'informer s'il vous plaît comment implémenter cette fonctionnalité?
Je n'ai qu'une seule grille pour le moment. La fenêtre entière ressemble à ceci:
<Window x:Class="DarkOrbit_Skill_Price_Calculator.DarkOrbit_Skill_Price_Calculator___Preferences"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:DarkOrbit_Skill_Price_Calculator"
mc:Ignorable="d"
Title="DarkOrbit Skill Price Calculator - Preferences" Height="360" Width="640" WindowStartupLocation="CenterScreen" WindowStyle="ToolWindow">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<ListView Name="ListView_PreferenceOption" Width="150" Margin="5" SelectionChanged="SelectionChanged_ListView_PreferenceOption">
<ListViewItem IsSelected="True">
<StackPanel Orientation="Horizontal">
<Image Source="Images\Installing Updates.png" Height="35"/>
<TextBlock Text="Update" FontSize="14" FontFamily="Segoe UI" VerticalAlignment="Center" Margin="5"/>
</StackPanel>
</ListViewItem>
</ListView>
<Grid Margin="5" Name="Grid_Update" Grid.Column="1">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<StackPanel Orientation="Horizontal">
<Label Content="Update Version Architecture" VerticalAlignment="Center"/>
<ComboBox IsReadOnly="True" Width="100" Margin="5">
<ComboBoxItem Content="64-Bit"/>
<ComboBoxItem Content="32-Bit" IsSelected="True"/>
</ComboBox>
</StackPanel>
</Grid>
</Grid>
</Window>
Je n'ai absolument aucune idée quant à la façon d'échanger la grille en fonction de l'indice sélectionné.