c# - 从 Blend 中的类创建样本数据抛出 "Object reference not set to an instance of an object "

标签 c# viewmodel expression-blend mvvm-light mvvm

我正在尝试从 Expression Blend 中的 ViewModel 类创建一些示例数据。 但是 Expression Blend 停止并说“对象引用未设置到对象的实例”。就个人而言,我不明白这个异常是从哪里来的。

有人知道为什么会这样吗?

这是我的用户 ListView 模型:

[Export]
public class UserListViewModel : ViewModelBase
{
    [ImportingConstructor]
    public UserListViewModel(IUserListView view)
        : base(view)
    {

    }

    private ObservableCollection<UserItem> _userList;

    public ObservableCollection<UserItem> UserList
    {
        get { return _userList; }
        set
        {
            if (_userList != value)
            {
                _userList = value;
                RaisePropertyChanged("UserList");
            }
        }
    }

    private UserItem _selectedUser;

    public UserItem SelectedUser
    {
        get { return _selectedUser; }
        set
        {
            if (_selectedUser != value)
            {
                _selectedUser = value;
                RaisePropertyChanged("SelectedUser");
            }
        }
    }

    private string _searchText;

    public string SearchText
    {
        get { return _searchText; }
        set
        {
            if (_searchText != value)
            {
                _searchText = value;
                RaisePropertyChanged("SearchText");
            }
        }
    }

    private ICommand _searchCommand;

    public ICommand SearchCommand
    {
        get { return _searchCommand; }
        set
        {
            if (_searchCommand != value)
                _searchCommand = value;
        }
    }

    // ... other ICommands
}

预先感谢您的所有帮助,

干杯, G.

最佳答案

更新! Laurent(MvvmLight 作者)发布了如何调试设计时数据。 Blog post here.

我在 Blend 中或在 Visual Studio 中打开 .xaml 时找到了此错误的原因和解决方案。

Object reference not set to an instance of an object.

Blend 尝试运行您的设计时代码,如果它在某处命中空指针,这就是您遇到的错误。

因此,跟踪创 build 计时数据的代码。很可能您忘记了初始化某些东西,或者您的类型有误。

如果您可以在设计器运行用户代码时捕获断点,这将很容易找到,但我认为这是不可能的。

关于c# - 从 Blend 中的类创建样本数据抛出 "Object reference not set to an instance of an object ",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4991605/

相关文章:

c# - wpf中静态数据放在哪里?

c# - 仅跟踪 HTC Controller 而不跟踪耳机本身

c# - 如何从 Application Directory 文本文件中读取文本文件

nhibernate - 为每个 ViewModel 创建一个 ISession 实例

wpf - ControlTemplate 的设计时数据

xaml - 更改 Windows Phone 7 主题感知应用程序的颜色

c# - 是否可以在没有 PS4 套件的情况下访问 DualShock 4 Controller 中的扬声器?

asp.net-mvc - 在哪里将 DTO 转换为 ViewModel?

mvvm - uwp - bool 值到可见性转换器不起作用

c# - 如何通过在页面上显示半透明控件来禁用Windows Phone上的所有控件?