繁体   English   中英

在wpf datagrid中itemssource为null时显示空行

[英]Show an empty row when itemssource is null in wpf datagrid

我正在使用mvvm在wpf中进行项目。 我只想在wpf数据网格上显示一行以添加一个新项目,并且我有一个ItemsSource但它为nullcanUserAddRows设置为true。

提前致谢。

您需要某种not nullItemsSource 只需初始化您的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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM