我正在开发一个基于自定义类的CustomControl公开.DependencyProperty SearchRangeRange
public class MyCustomControl : Control
{
public static readonly DependencyProperty SearchRangeProperty
= DependencyProperty.Register(
"SearchRange",
typeof (Range<DateTime>),
typeof (VariableBrowser));
// ...
public Range<DateTime> SearchRange
{
get { return (Range<DateTime>)this.GetValue(SearchRangeProperty); }
set { this.SetValue(SearchRangeProperty, value); }
}
// ...
}
该类Range包含两个不同的属性,Minimum和Maximum,它实现了INotifyPropertyChanged。
public class Range<T> : INotifyPropertyChanged where T : IComparable
{
private T _maximum;
private T _minimum;
public T Maximum
{
get { return this._maximum; }
set
{
this._maximum = value;
this.OnPropertyChanged("Maximum");
}
}
public T Minimum
{
get { return this._minimum; }
set
{
this._minimum = value;
this.OnPropertyChanged("Minimum");
}
}
// ...
}
我遵循的规范要求使用我的自定义控件的应用程序应该能够绑定到SearchRange属性,以便读取其内部值(Minimum和Maximum),因为这些必须在内部处理并仅由我的CustomControl. 绑定目标应在SearchRange属性或其内部道具(Minimum和Maximum)发生任何变化后更新,而无需重新分配整个SearchRange. 或者,我应该允许直接绑定到内部属性(SearchRange.Minimum和SearchRange.Maximum)。
我尝试了许多不同的方法来达到这个结果,但没有一个成功。我怎样才能获得所需的结果?
提前致谢。