【发布时间】:2022-01-03 21:06:07
【问题描述】:
我有一个名为“TrendPoint”的 ITrendPoint 类型的属性。每当 TrendPoint 的值发生变化并执行一组操作时,我都需要引发“OnTrendPointChanged”事件。 我尝试了以下方法,但似乎无法继续:
public class TestClass:ObservablePoint
{
private ITrendPoint trendPoint;
public ITrendPoint TrendPoint{
get{ return trendPoint ;}
set{ this.trendPoint= value;
//Need to Call the event handler
// "OnTrendPointChanged"
}
public void TestJob()
{
//The TrendPoint is being set
// here
TrendPoint=
Services.getTrendPoint();
}
//The event handler
private void
OnTrendPointChanged(object sender,
ValueChangedEventArgs<string> e)
{
switch(e.value):
case "HIGH":
Log("TR HIGH");
case "Low":
Log("TR LOW");
//Other such conditions
.
.
.
}
}
我无法弄清楚当“TrendPoint”的值发生变化时如何让事件处理程序“OnTrendPointChanged”执行。任何帮助表示赞赏!
【问题讨论】:
-
您真的希望事件处理程序在同一个类中吗?对我来说没有意义。您也可以从 setter 中调用该方法。
-
您的问题实际上是如何使用新值构建事件参数?
-
@Fildor 感谢您提供的链接。
-
@Andy 好像我把整个代码 sn-p 弄错了。我的目标是能够在 TrentPoint 的值发生变化时执行一组操作。
标签: c# wpf events event-handling delegates