カスタム コントロールのプロパティとして使用するときに 1 つの列挙型を作成しました。列挙型プロパティの変更のためにイベントを発生させたいです。助けてください。
6491 次
2 に答える
5
疑似コード
代理人を定義する
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);
}
}
}
于 2012-04-26T10:04:17.953 に答える
4
セッターを使用して、関数を呼び出したり、イベントデリゲートを呼び出したりします。
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を使用して実行されます。
于 2012-04-26T10:07:35.407 に答える