Ich möchte einen Pfeil Indikator zu jeder Zeile hinzufügen, die derzeit in einem WPF DataGrid
ausgewählt ist. Ich bin bereit zu ändern, wenn jemand einen besseren Ansatz hat, aber was ich tun würde, was eine DataGridTemplateColumn
verwenden und zwei verschiedene Stile für die Zelle und die Zeile verwenden.Ändern des Zellenstils beim Klicken auf die Zeile 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>
Grundsätzlich möchte ich die txtArrow
Textbox für nur die ausgewählte Zeile in der Datentabelle zu zeigen. Ich frage mich, ob dies über reine XAML und Stile erreicht werden kann. Ich weiß, WPF hat einen Zeilenanzeiger out of the box in der linken Spalte, aber leider muss ich das Kennzeichen auf der rechten Seite der ersten Spalte txtID
machen. Ist das möglich?
Danke!
Ihr Ansatz für mich in Ordnung aussieht. –