我是C#和WPF的新手。我寫了一個簡單的程序。我有一個名爲Counter
的類,它揭示了一個以0開始的只讀屬性Count
,以及一個公共方法Increment
,它只是將計數增加1。 Counter
執行INotifyPropertyChanged
。如何更改我的代碼隱藏綁定到XAML綁定
我有一個Window類(代碼如下)。我將Counter
對象的實例傳遞給構造函數並執行綁定。窗口有一個按鈕和一個標籤。該標籤綁定到計數器的Count
屬性,並且按鈕調用Increment
。
這一切正常。
但是,我在網絡和MSDN上看到的大多數例子主要涉及在XAML中定義綁定。如何修改我的示例以將綁定操作移出代碼並放入標記中? VS2010屬性窗口中的綁定屬性似乎並不知道如何去做我想要的。也許這是不可能的?
還有一個問題:我不認爲這個例子適合MVVM ...我的櫃檯類是獨立的,除了通過它的屬性以外,沒有任何地方與視圖綁定。但是,CounterWindow類擁有對它的引用。這是參考的適當位置嗎?我也認爲,也許我應該創建窗口,然後設置一個屬性(例如CounterObject
),我將使用該屬性而不是通過構造函數傳遞。
public partial class CounterWindow : Window {
Counter ctr;
public CounterWindow(Counter ctr) {
InitializeComponent();
this.ctr = ctr;
Binding b = new Binding("Count");
b.Source = ctr;
CounterLabel.SetBinding(Label.ContentProperty, b);
}
private void IncrementButton_Click(object sender, RoutedEventArgs e) {
ctr.Increment();
}
}
作品。謝謝 :) – Steve