【发布时间】:2017-10-19 17:51:23
【问题描述】:
我想向 WPF DataGrid 中当前选择的任何行添加一个箭头指示符。如果有人有更好的方法,我愿意改变,但我要做的是使用 DataGridTemplateColumn 并为单元格和行使用两种不同的样式。
<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>
基本上,我希望 txtArrow 文本框仅显示数据网格中选定的行。我想知道这是否可以通过纯 XAML 和样式来实现。我知道 WPF 在最左边的列有一个开箱即用的行指示器,但不幸的是我需要在第一列的右侧制作指示器txtID。这可能吗?
谢谢!
【问题讨论】:
-
你的方法对我来说很好。
标签: c# wpf xaml wpfdatagrid wpf-style