<DataGridTemplateColumn> <DataGridTemplateColumn.CellTemplate> <DataTemplate> <CheckBox HorizontalAlignment="Center" VerticalAlignment="Center" IsChecked="{Binding IsCheck,UpdateSourceTrigger=PropertyChanged}" x:Name="DTCB" Command="{Binding DataContext.SelectedCommand, RelativeSource={RelativeSource AncestorType=UserControl}}" CommandParameter="{Binding Cad_No}"> <CheckBox.InputBindings> <MouseBinding MouseAction="LeftClick"/> </CheckBox.InputBindings> </CheckBox> </DataTemplate> </DataGridTemplateColumn.CellTemplate> </DataGridTemplateColumn> 怎么让第一行的checkbox不显示
时间: 2024-01-21 20:04:59 浏览: 163
25.Xaml DateGrid控件->默认单选,可以多项选择的网格控件
可以使用行样式(RowStyle)来隐藏第一行的 CheckBox。在 DataGrid 中设置 RowStyle 属性,然后使用 DataTrigger 来判断当前行是不是第一行,如果是第一行,则将 CheckBox 的 Visibility 属性设置为 Hidden。示例代码如下:
```
<DataGrid ...>
<DataGrid.RowStyle>
<Style TargetType="DataGridRow">
<Style.Triggers>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource Self}, Path=IsNewItem}" Value="True">
<Setter Property="Visibility" Value="Collapsed"/>
</DataTrigger>
</Style.Triggers>
</Style>
</DataGrid.RowStyle>
...
<DataGridTemplateColumn>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<CheckBox Visibility="{Binding RelativeSource={RelativeSource AncestorType=DataGridRow}, Converter={StaticResource FirstRowToVisibilityConverter}}"
... />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
...
</DataGrid>
```
其中,FirstRowToVisibilityConverter 是一个实现了 IValueConverter 接口的转换器,用于将第一行转换为 Hidden,其他行转换为 Visible。具体实现可以参考以下代码:
```
public class FirstRowToVisibilityConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
var row = value as DataGridRow;
if (row != null && row.IsNewItem)
{
return Visibility.Collapsed;
}
return Visibility.Visible;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
```
需要在 XAML 中定义 FirstRowToVisibilityConverter,可以使用以下代码:
```
<Window.Resources>
<local:FirstRowToVisibilityConverter x:Key="FirstRowToVisibilityConverter" />
</Window.Resources>
```
阅读全文