1) 카운터 값을 반환하는 public 속성을 만듭니다. 다음과 같이 "카운터"
2) 마크 업을 변경 INotifyPropertyChanged을 구현하고 카운터 값
3)의 모든 변경하여 PropertyChanged (새 PropertyChangedEventArgs ("카운터"))를 호출 이름 :
<TextBlock Text="{Binding Path=counter,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=Window}}" />
이것은 많은 경우 중 하나 일뿐입니다. This 링크를 누르면 DataBinding에 대한 개요로 연결됩니다. 나는이 문서가 위의 단계들을 분명히 할 것이라고 상상할 수있다.
만약 당신이, 당신의 의견을 여기에 예를 바랬다으로 업데이트
, 난 당신이 메인 창에있는 가정합니다. 위의 시퀀스에 대해 몇 가지를 변경했습니다. 생성자에 DataContext를 설정했습니다. 따라서 Binding에 상대 소스를 사용할 필요가 없습니다. 두 방법 모두 가능합니다 (둘 다 매우 우아하지는 않지만 WPF-Databinding을 배우려면 적절합니다). 어쩌면 둘 다 시도해 볼 수 있습니다. 유일한 차이점은 바인딩 선언과 생성자 코드입니다.
public partial class MainWindow : Window , INotifyPropertyChanged{
public event PropertyChangedEventHandler PropertyChanged;
int m_counter;
public MainWindow() {
InitializeComponent();
DataContext=this;
}
public int Counter {
get { return m_counter; }
set {
if (m_counter != value) {
m_counter = value;
OnPropertyChanged(new PropertyChangedEventArgs("Counter"));
}
}
}
protected virtual void OnPropertyChanged(PropertyChangedEventArgs e) {
if (null != PropertyChanged) {
PropertyChanged(this,e);
}
}
private void ClickNextButton(object sender, System.Windows.RoutedEventArgs e){
Counter += 1;
if (Counter == 1) { }
if (Counter == 2) { }
}
Continue with class declaration...
그리고 XAML :
<TextBlock Text="{Binding Path=Counter}" />
<Button x:Name="Nextbt" Content="Next" Click="ClickNextButton"/>
출처
2011-01-18 22:47:18
HCL
현재 접근 방식에는 어떤 문제가 있습니까? –
작동하지 않습니다. – vladc77