我在我的WPF应用程序中有一个DataGrid。我想知道是否有一种方法来显示数据网格中列的默认值。例如,我让用户有能力向DataGrid添加新行。因此,在DataGrid的底部,用户添加数据总是有一个空白的空行。我希望在这一行有一个列的默认值。有什么办法可以实现这个功能吗?谢谢!WPF Datagrid列的默认值
2
A
回答
2
比方说,你DataGrid
的ItemsSource
是SomeClass
集合,你是显示不同SomeClass
在DataGrid列的Properties
。你可以做的是在构造函数的默认SomeClass
中指定Properties
的一些默认值。通过这种方式,您可以在DataGrid中使用默认列值。
编辑
正如你所说的柱的itemssource
是一个字符串有我能想到的一个办法..
让它的SomeClass
集合将只有一个string
财产。在SomeClass
的默认构造函数中,为该字符串分配一个默认值。该默认值将出现在您的数据网格列中
0
实际上,您可以在ValueConverters的帮助下完成此操作。当CanUserAddRows = True时,行的DataContext绑定到ItemsSource的元素或绑定到空行的{DataGrid.NewItemPlaceholder}。
<DataGrid ItemsSource="{Binding Path=Collection}" CanUserAddRows=True >
<DataGrid.Columns>
<DataGridTemplateColumn>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Converter={StaticResource ShowSuitablePart}}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
而这是一个ShowSuitablePart转换器的代码。
public class ShowSuitablePart : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if (value.ToString() == "{DataGrid.NewItemPlaceholder}")
return "This is blank row, just click me to create a new one";
else
((YourCollectionObject)value).SomeProperty;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new Exception();
}
}
如果您需要双向绑定,则必须在DataTemplate中使用2个元素。一个用于空白行,第二个用于双向装订的常规行。设置可见性绑定以隐藏常规行的第一个元素和空白行的第二个元素。
请记住,如果您确定了某个属性集合对象的路径,它将不会在空白行情况下引发ValueConverter。
相关问题
- 1. WPF DataGrid - 生成对象的默认值
- 2. WPF中的Datagrid - 1列默认排序
- 3. WPF DataGrid:指定默认排序
- 4. 如何更改WPF Datagrid上的默认列标题?
- 5. 设置默认值道场的DataGrid
- 6. 设置默认值WPF
- 7. 获取datagrid列值 - WPF C#
- 8. 默认列值
- 9. 默认列值
- 10. WPF的DataGrid列
- 11. 在DataGrid列中设置DatePicker的默认值
- 12. TSQL默认列值
- 13. DependencyProperty的默认值和子类DataGrid的中断属性
- 14. WPF DataGrid列宽
- 15. WPF Caliburn.Micro DataGrid列
- 16. wpf datagrid combobox列
- 17. 在wpf组合框中的默认值
- 18. 自定义WPF控件的默认值
- 19. wpf组合框的默认值
- 20. WPF:定义绑定的默认值
- 21. 如何在wpf datagrid中继承默认的文本框样式?
- 22. C#WPF Datagrid - 设置数据绑定组合框的默认选定值
- 23. 如何设置WPF DataGrid列的默认排序方向为降序?
- 24. 更改列的默认值
- 25. 添加列的默认值
- 26. SQL Server列的默认值
- 27. 改变列的默认值
- 28. 文本列的默认值
- 29. 停止Datagrid默认选择第一行
- 30. WPF DataGrid:默认取消第一行选择
什么是DataGrid的itemssource? – 2012-01-13 07:05:50
列itemssource是一个可观察的集合 –
2012-01-13 07:07:16