如何在更改依赖项属性后调用方法
本文关键字:属性 调用 方法 依赖 | 更新日期: 2023-09-27 18:31:25
我有一个使用MVVM
模式的WPF
应用程序。我的项目中有一个窗口,并在我的窗口中使用了一个CustomControl
。我需要在我的窗口中有两个命令,用于在我的CustomControl
中开始和停止。所以我使用这样的bool DependencyProperty
:
public static readonly DependencyProperty IsStartModeProperty = DependencyProperty.Register(
"IsStartMode", typeof(bool), typeof(RadarView), new FrameworkPropertyMetadata(false, OnCurrentReadingChanged));
public bool IsStartMode {
get { return (bool)GetValue(IsStartModeProperty); }
set { SetValue(IsStartModeProperty, value); }
}
在我的依赖项属性中还使用以下方法用于回调委托:
public static void OnCurrentReadingChanged(DependencyObject doj, DependencyPropertyChangedEventArgs dp) {
if (IsStartMode)
Start();
else
Stop();
}
我的问题正在从 up 方法中的IsStartMode
属性中使用,因为这不是静态的。它有一个构建错误。
正确是我的解决方案吗? 如果正确,我做什么?
您需要将
第一个方法参数强制转换为依赖项对象类:
public static void OnCurrentReadingChanged(DependencyObject doj, DependencyPropertyChangedEventArgs dp)
{
var myObject = (RadarView)doj;
if (myObject.IsStartMode)
myObject.Start();
else
myObject.Stop();
}
(作为旁注,我会称该物业为IsRunning
。