我在我的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. 設置默認值道場的DataGrid
- 3. 設置默認值WPF
- 4. 獲取datagrid列值 - WPF C#
- 5. WPF的DataGrid列
- 6. WPF DataGrid列寬
- 7. 在wpf組合框中的默認值
- 8. wpf組合框的默認值
- 9. WPF:定義綁定的默認值
- 10. 文本列的默認值
- 11. 更改列的默認值
- 12. 改變列的默認值
- 13. C#WPF Datagrid - 設置數據綁定組合框的默認選定值
- 14. 停止Datagrid默認選擇第一行
- 15. Python3 - 默認值爲type的默認值?
- 16. WPF DataGrid:默認取消第一行選擇
- 17. wpf DependencyProperty短期不接受默認值
- 18. WPF組合框IsSynchronised默認值
- 19. DependencyProperty默認值
- 20. wpf datagrid隱形列
- 21. MySQL函數列默認值
- 22. 引導 - 列默認值
- 23. 列表框默認值
- 24. Sharepoint 2007 DateTime列默認值?
- 25. 下拉列表默認值
- 26. 春天JPA列默認值
- 27. 默認值選擇列表
- 28. 阿爾特列默認值
- 29. sqlite3更改列默認值
- 30. 默認均勻(陣列)值
什麼是DataGrid的itemssource? – 2012-01-13 07:05:50
列itemssource是一個可觀察的集合 –
2012-01-13 07:07:16