c# - 已定义WPF MVVM OnPropertyChanged,但未在其他 View 模型上显示

标签 c# wpf mvvm viewmodel fody

伙计们。我正在实现MVVM代码。我正在使用Fody。我成功创建了 BaseViewModel ,它是:

using System.ComponentModel;
namespace GProject_MVVM.ViewModel
{
    /// <summary>
    /// A base view model that fires Property Changed events as needed
    /// </summary>

    public class BaseViewModel : INotifyPropertyChanged
    {
        /// <summary>
        /// The event that is fired when any child property changes its value
        /// </summary>
        public event PropertyChangedEventHandler PropertyChanged = (sender, e) => { };
        /// <summary>
        /// Call this to fire <see cref="PropertyChanged"/> event
        /// </summary>
        /// <param name="name"></param>
        public void OnPropertyChanged(string name)
        {
            PropertyChanged(this, new PropertyChangedEventArgs(name));
        }
    }
}

没问题,但是当我在上调用WindowViewModel 时,出现了一个错误,即 OnPropertyChanged 未定义
这是我的WindowViewModel
using System.Windows;

namespace GProject_MVVM.ViewModel
{
    /// <summary>
    /// THe View Model for Custom Flat Windows
    /// </summary>
    class WindowsViewModel
    {

        #region Private Member

        #endregion

        #region Public Properties


        #endregion

        #region Constructor
        // Default Constructor
        public WindowsViewModel(Window window)
        {
            mWindow = window;
            //Listen out for the window resizing
            mWindow.StateChanged += (sender, e) =>
            {
                OnPropertyChanged(nameof(ResizeBorderThickness)); // I got error here
            };

        }
        #endregion
    }
}

最佳答案

WindowsViewModel需要BaseViewModel继承才能访问其成员

public class WindowsViewModel : BaseViewModel {
    //...
}

关于c# - 已定义WPF MVVM OnPropertyChanged,但未在其他 View 模型上显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44484546/

相关文章:

c# - 在 Web.API Controller 中自动反序列化为类似字符串的类

wpf - DateTimePicker 设置日历和时间文化

c# - 管理按钮的 IsEnabled 属性

android - 最佳实践 : Runtime filters with Room and LiveData

c# - 使用属性属性在MVVM中进行验证

c# - Telerik MVC ScriptRegistrar 复制 javascript

c# - 每隔几分钟在 global.asax 中执行一次方法

c# - Nuget - 包恢复失败。回滚 'WebApplication1' 的包更改。 0

c# - WPF ItemsCollection.ItemContainerGenerator 的可能竞争条件

c# - 是否可以动态地将事件添加到 XAML 中的按钮?