我对 WPF 还很陌生。
假设我定义了一个 int 依赖属性。 DP 的目的是返回值+1(参见代码)。 在 .Net 2.0 中我会这样写:
private int _myValue = 0;
public int MyValue
{
get { return _myValue + 1; }
set { _myValue = value; }
}
您如何声明实现类似行为的 DP?
所提供的强制仅适用于 Set 操作。我想修改获取结果。
最佳答案
您可以像这样间接实现它:
public static readonly DependencyProperty ValueProperty =
DependencyProperty.Register("Value", typeof(int), typeof(OwnerClass),
new FrameworkPropertyMetadata(0, null, new CoerceValueCallback(CoerceValue)));
public int Value
{
get { return (int)GetValue(ValueProperty); }
set { SetValue(ValueProperty, value); }
}
private static object CoerceValue(DependencyObject d, object value)
{
return (int) value + 1;
}
检查这个link有关强制的解释。
关于c# - WPF 依赖属性返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1153322/