[英]Show an empty row when itemssource is null in wpf datagrid
我正在使用mvvm在wpf中进行项目。 我只想在wpf数据网格上显示一行以添加一个新项目,并且我有一个ItemsSource
但它为null
, canUserAddRows
设置为true。
提前致谢。
您需要某种not null
的ItemsSource
。 只需初始化您的ObservableCollection<yourType>
。
最简单的方法是通过ViewModel的构造函数来实现:
public class ViewModel : INotifyPropertyChanged
{
public ViewModel()
{
_yourCollection = new ObservableCollection<yourType>();
//Now Items can be added, via code behind, or UI !
}
}
想一想 :您不能在null
对象上调用.Add()
(将抛出NullReferenceException
)。 因此,控件本身应如何通过UI允许它-没有值可存储在!
例:
视图模型:
public class ViewModel
{
public ObservableCollection<Model> Collection { get; set;}
public ViewModel()
{
Collection = new ObservableCollection<Model>();
//Now Items can be added, via code behind, or UI !
}
}
模型:
public class Model
{
public string Text { get; set; }
}
XAML:
<DataGrid CanUserAddRows="True"
AutoGenerateColumns="False"
IsReadOnly="False"
ItemsSource="{Binding Collection}">
<DataGrid.Columns>
<DataGridTextColumn Width="*"
Header="Value"
Binding="{Binding Text}"/>
</DataGrid.Columns>
</DataGrid>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.