在一列可編輯且其他列只能讀取的數據網格中。如何設置WPF數據網格單元格的可點擊區域?
不可編輯列綁定到集合中的可爲空的小數字段,最初爲NULL,因此該列中不存在任何值。
當試圖點擊這個單元格來獲取數據網格進入編輯模式時,點擊目標非常小,難以點擊。
如何設置此類單元格的點擊目標大小?
在一列可編輯且其他列只能讀取的數據網格中。如何設置WPF數據網格單元格的可點擊區域?
不可編輯列綁定到集合中的可爲空的小數字段,最初爲NULL,因此該列中不存在任何值。
當試圖點擊這個單元格來獲取數據網格進入編輯模式時,點擊目標非常小,難以點擊。
如何設置此類單元格的點擊目標大小?
如果定義在DataGrid自己的欄,你可以設置在列的minWidth屬性,這樣總有空間去點擊,即使值爲空或很短。例如:
<DataGrid ItemsSource="{Binding Customers}" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn
MinWidth="100"
Header="Phone"
Binding="{Binding Path=PhoneNumber}" />
</DataGrid.Columns>
</DataGrid>
在數據網格中,使用選擇單元= 「FullRow」。定義一個默認的DataGridCell樣式,並在此基礎上的所有其他DataGridCell樣式。然後向DataGrid添加一個行樣式。這給你一種選擇整行的方法,併爲Focused單元格設置另一種顏色。整個單元格背景都是在樣式中指定的顏色。
<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>
我定義我自己列,但設置的最小寬度不執行任何操作,以增加小區的面積是可點擊您使用 – vzczc 2011-06-12 11:46:22
哪個DataGrid的版本?當我使用WPF 4附帶的DataGrid進行測試時,我可以單擊單元格中的任何位置(通過屏幕截圖中的黃色突出顯示),然後我可以進入編輯模式。 – Kendrick 2011-06-12 13:43:37
那麼,我有VS2010 SP1所以,我猜這是最新版本。也許有某種屬性可以定義不同的行爲。我只能點擊包含數據的單元格的區域 – vzczc 2011-06-14 06:19:09