カスタム クラス に基づく をCustomControl
公開する を開発しています。DependencyProperty
SearchRange
Range
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
の 2 つの異なるプロパティが含まれて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
を読み取るためにのみプロパティにバインドできる必要があります。これらは内部で処理され、 my によって設定される必要があるためです。バインディング ターゲットは、プロパティまたはその内部 props ( and )のいずれかに変更が加えられた後、全体を再割り当てせずに更新する必要があります。または、内部プロパティ (および)に直接バインドすることを許可する必要があります。Minimum
Maximum
CustomControl
SearchRange
Minimum
Maximum
SearchRange
SearchRange.Minimum
SearchRange.Maximum
この結果を達成するためにさまざまな方法を試しましたが、どれも成功しませんでした。どうすれば必要な結果を得ることができますか?
前もって感謝します。