。我々は完全に、プロパティに行ってどんな変化について報告することができ、新たな目標(新しい依存関係プロパティ)を作成することができます
は、コールバックを使用して新しい依存関係プロパティを作成します。
変更を監視するために他のプロパティにバインドします。
public partial class MainWindow : Window
{
public double Maximum
{
get { return (double)GetValue(MaximumProperty); }
set { SetValue(MaximumProperty, value); }
}
public static readonly DependencyProperty MaximumProperty =
DependencyProperty.Register("Maximum", typeof(double), typeof(MainWindow), new PropertyMetadata(0, (d, e) =>
{
// value has changed
}));
public MainWindow()
{
InitializeComponent();
var scrollBar = ... // instance of scrollbar
BindingOperations.SetBinding(this, MaximumProperty,
new Binding(nameof(RangeBase.Maximum)) { Source = scrollBar });
}
}
iはScrollBarから継承されたユーザーコントロールを作成し、イベントを発生させる最大プロパティをオーバーライドしたいです。 –
@SebastianL、いい考えです。単に['OnMaximumChanged'](https://msdn.microsoft.com/en-us/library/system.windows.controls.primitives.rangebase.onmaximumchanged(v = vs.110))を上書きしてください。 aspx)がカスタムイベントを呼び出すことができます。カスタムコントロールなしのソリューション? – Sinatr