如何处理userControl属性的事件
本文关键字:userControl 属性 事件 处理 何处理 | 更新日期: 2023-09-27 17:58:32
我有一个userControl的属性,如下所示:
public enum Mode { Full, Simple }
public Mode NavigatorMode { get; set; }
现在,我需要编写一个事件,当用户将属性(NavigatorMode)从完整模式更改为简单模式时,或者反转
我该怎么做?
实现INotifyPropertyChanged到您的类:
public class YourClass : INotifyPropertyChanged
{
// Your private variable
private Mode mode;
// Declare the event
public event PropertyChangedEventHandler PropertyChanged;
public YourClass()
{
}
public Mode NavigatorMode
{
get { return mode; }
set
{
mode = value;
// Call OnPropertyChanged whenever the property is updated
OnPropertyChanged(mode);
}
}
// Create the OnPropertyChanged method to raise the event
protected void OnPropertyChanged(Mode modeParam)
{
PropertyChangedEventHandler handler = PropertyChanged;
if (handler != null)
{
handler(this, new PropertyChangedEventArgs(modeParam));
}
}
}
在控件中实现INotifyPropertyChanged接口怎么样?
或者简单地编写一个自定义事件:
public event EventHandler<Mode> ModeChanged;
public Mode NavigatorMode
{
get { return _navigatorMode; }
set
{
_navigatorMode = value;
if(ModeChanged != null)
ModeChanged(this, _navigatorMode);
}
}
在用户控制之外,您可以处理该事件并根据模式执行某些操作。