私はDependencyPropertyの変更を聞きたいです。このコードは動作しますが、CustomControlを持つすべてのリロードページの後依存関係のプロパティがコールバックを変更 - 複数の呼び出し
public partial class CustomControl : UserControl
{
public CustomControl()
{
InitializeComponent();
}
public bool IsOpen
{
get { return (bool)GetValue(IsOpenProperty); }
set { SetValue(IsOpenProperty, value); }
}
public static readonly DependencyProperty IsOpenProperty =
DependencyProperty.Register("IsOpen", typeof(bool), typeof(CustomControl), new PropertyMetadata(IsOpenPropertyChangedCallback));
private static void IsOpenPropertyChangedCallback(DependencyObject sender, DependencyPropertyChangedEventArgs e)
{
Debug.WriteLine("Fire!");
}
}
更新
... ViewModelに
private bool _isOpen;
public bool IsOpen
{
get { return this._isOpen; }
set { this.Set(() => this.IsOpen, ref this._isOpen, value); } // MVVM Light Toolkit
}
ビュー
<local:CustomControl IsOpen="{Binding Path=IsOpen}" />
複数回呼び出されるコールバックメソッドであります
サンプル
-
- タップ "2ページ"
- タップ "真"(出力ウィンドウを見て)
- タップ "2ページ"
- バック
- を行きます"false"をタップ(出力ウィンドウを見る)
XAMLはどこですか?あなたは財産に拘束力を持っていますか? –
私はより多くの情報を追加しました。 –