在数据网格中,其中一列可编辑,其他列为只读。
非可编辑列绑定到集合中可为空的十进制字段,并且最初为NULL,因此列中不存在任何值。
尝试单击此单元格以使数据网格进入编辑模式时,单击目标非常小并且难以单击。
如何设置此类单元格的点击目标尺寸?
答案 0 :(得分:1)
在数据网格中,使用Selection Unit =“FullRow”。定义一个默认的DataGridCell样式,并在此基础上建立所有其他DataGridCell样式。然后向DataGrid添加行样式。这为您提供了一种选择整行的方法,并为聚焦单元格提供了另一种颜色。并且整个单元格背景采用样式中指定的颜色。
<Style TargetType="DataGridCell" x:Key="DgcDefault">
<Setter Property="BorderBrush" Value="Transparent"/>
<Setter Property="Background" Value="Transparent"/>
<Setter Property="Foreground" Value="Black"/>
<Style.Triggers>
<Trigger Property="IsFocused" Value="True">
<Setter Property="Background" Value="#FF83B2DD"/>
</Trigger>
</Style.Triggers>
</Style>
<DataGrid.RowStyle>
<Style TargetType="DataGridRow">
<Setter Property="Background" Value="White"/>
<Style.Triggers>
<Trigger Property="AlternationIndex" Value="1">
<Setter Property="Background" Value="AliceBlue"/>
</Trigger>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="LightBlue"/>
</Trigger>
</Style.Triggers>
</Style>
</DataGrid.RowStyle>
答案 1 :(得分:0)
如果要在DataGrid中定义自己的列,则可以在列上设置MinWidth属性,以便始终可以单击空间,即使值为空或非常短。例如:
<DataGrid ItemsSource="{Binding Customers}" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn
MinWidth="100"
Header="Phone"
Binding="{Binding Path=PhoneNumber}" />
</DataGrid.Columns>
</DataGrid>