Je souhaite ajouter un indicateur de flèche à la ligne actuellement sélectionnée dans un WPF DataGrid
. Je suis prêt à changer si quelqu'un a une meilleure approche, mais ce que j'allais faire ce qui utilisent un DataGridTemplateColumn
et utilisent deux styles différents pour la cellule et la ligne.Possible de changer le style de cellule quand on clique sur la ligne WPF DataGrid?
<DataGridTemplateColumn Header="ID" Width="50" CanUserSort="False">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBox Name="txtID" Text="{Binding ID, UpdateSourceTrigger=PropertyChanged}" HorizontalAlignment="Stretch" MaxLength="20" />
<TextBox Name="txtArrow" Text="⇨" HorizontalAlignment="Stretch" Visibility="{Binding IsRowSelected, Converter={StaticResource booleanToVisibility}}" />
</StackPanel>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
Fondamentalement, je veux la zone de texte txtArrow
pour montrer que pour la ligne sélectionnée dans la grille de données. Je me demande si cela peut être réalisé via XAML pur et styles. Je sais WPF a un indicateur de ligne hors de la boîte dans la colonne la plus à gauche, mais malheureusement, je dois faire l'indicateur sur le côté droit de la première colonne txtID
. Est-ce possible?
Merci!
Votre approche semble bien pour moi. –