我创建了1个枚举 当我将它用作自定义控件的属性时,我想触发一个事件以更改枚举属性。请帮助。
答案 0 :(得分:5)
psudocode
定义你的代表
public void delegate EnumPropertyChangedDelegate(object sender, Enum newValue);
定义事件
public event EnumPropertyChangedDelegate EnumPropertyChanged;
并在您的财产中
private MyEnum myEnum = .... some value
public MyEnum EnumProperty
{
get {return myEnum;}
set {
if(value != myEnum)
{
myEnum = value;
if(EnumPropertyChanged!=null)
EnumPropertyChanged(this, myEnum);
}
}
}
答案 1 :(得分:4)
使用setter来调用函数或调用事件委托。
public enum PersonName
{
Eric,
George,
David,
Frank
}
private PersonName myPersonName
public PersonName MyPersonName
{
get { return myPersonName; }
set
{
myPersonName = value;
//simply call what you want done
PersonNamePropertyChanged();
}
}
在此处查看更多信息http://msdn.microsoft.com/en-us/library/ms743695.aspx 这是使用INotifyPropertyChanged
完成的