我正在使用WPF4.0 DataGrid。雙擊新行中的單元格時,一切正常除非我已將單元格樣式添加到該列。例如,我有一個數字列,我想數據右對齊所以XAML看起來像這樣如何使WPF DataGrid單元格右對齊而不使新行上的可選區域變得很小?
<DataGridTextColumn Binding="{Binding Path=ImpaId}"
CellStyle="{StaticResource CellRightAlign}">
<DataGridTextColumn.Header>
<TextBlock Style="{StaticResource DataGridHeader}">Impa</TextBlock>
</DataGridTextColumn.Header>
</DataGridTextColumn>
凡在共享資源的風格就是:
<Style x:Key="CellRightAlign">
<Setter Property="Control.HorizontalAlignment"
Value="Right" />
</Style>
產生的可選區域上一個新的行在圖像中顯示爲小藍色區域。這是用戶擊中的非常小的目標,並且這恰好是他們希望在新行開始的最可能的列。
如果我刪除CellStyle,面積爲工作所需,但當然我失去了右對齊。
有誰知道如何實現兩者兼而有之?
事情我想
- 在結合一些寬度的格式設置TargetNullValue。 這適用於現有的行,但對新行沒有影響。
- 在列上設置MinWidth,這並不影響新行的寬度,可選 區域。
東西合作:
通過@AngelWPF使用從答案的信息我能使用CellStyle改爲使用ElementStyle如下:
<DataGridTextColumn Binding="{Binding Path=ImpaId}"
CellStyle="{StaticResource CellRightAlign}">
成了
<DataGridTextColumn Binding="{Binding Path=ImpaId}"
ElementStyle="{StaticResource CellRightAlign}">
類似的問題,但不知道答案: http://stackoverflow.com/questions/18378515/how-to-make-cell-to-take-full-width-when-aligned-to-right -or-left-in-wpf-grid – digz6666