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!");
}
}
업데이트
... 뷰 모델
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}" />
여러 번 호출 콜백 방법
샘플
-
- 탭 "두 번째 페이지"
- 탭을 "true"는
- 는
- 탭 "두 번째 페이지"
- 돌아갑니다 (출력 창에서 볼) "false"를 탭하십시오 (출력 창을보십시오)
XAML은 어디에 있습니까? 이 건물에 바인딩이 있습니까? –
더 많은 정보를 추가했습니다. –