【发布时间】:2012-12-25 04:54:12
【问题描述】:
我想要完成的是自定义 DataGrid 控件,使每一行都有圆角,没有网格线(只是我正在使用的设计)。
我一直在尝试做的是创建一个 ControlTemplate 来修改 DataGridRow 控件,以便它们具有预期的外观。到目前为止,这就是我正在使用的:
<DataGrid Grid.Row="0" Grid.Column="0" Margin="5,5,5,5" AutoGenerateColumns="False" ItemsSource="{Binding Path=MyData}">
<DataGrid.Resources>
<Style x:Key="rowStyle" TargetType="{x:Type DataGridRow}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type DataGridRow}">
<Border CornerRadius="8,8,8,8" BorderBrush="Red" BorderThickness="2">
<ContentPresenter />
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</DataGrid.Resources>
<DataGrid.Columns>
<DataGridTextColumn Header="Foo" />
<DataGridTextColumn Header="Baz" />
<DataGridTextColumn Header="Bar" />
</DataGrid.Columns>
</DataGrid>
这个版本显然是简陋的(只是股票模板周围的边框),但是当我运行应用程序时我看不到任何区别。
那么,问题是如何为 DataGridRow 自定义控件模板?或者,如果这不可行,是否有更好的方法来实现我的目标:?
【问题讨论】:
标签: c# wpf xaml controltemplate