1
花了一天的時間試圖找到我的問題的答案,我終於會問這個問題。 :)新手WPF綁定問題
通過閱讀MSDN手冊頁我發現我終於可以刪除那些漫遊表單填充過程,並將每個字段(TextBox,CheckBox等)連接到我選擇的任何屬性。
我有一個名爲ArticleItem的類來處理這種情況下的所有數據。
VB代碼:
Public ArtItem as New ArticleItem
Private Sub LookUpArt()
If txtArtNo.Text.Length > 0 then
ArtItem.Load(txtArtNo.Text)
End If
End Sub
XAML:
<Page DataContext="{Binding RelativeSource={RelativeSource Self}}">
<!-- ... -->
<TextBox x:Name="txtDescr" Text="{Binding ArtItem, Path=Descr}" />
現在我沒有問題填充列表框,但我沒有得到我的文本框任何反應。
我錯過了什麼?
@Jonas:我發現了另一個問題。 –
好吧,我給了它另一個鏡頭。 我的課程現在實現INotifyPropertyChanged接口,ArtiItem已經成爲一個私人實例('Private _ArtItem as New ArticleItem'),並創建了一個名爲'ArtItem'的公共屬性來返回值。 Descr屬性也會在更改時引發'PropertyChanged'事件。 XAML也更新爲'Text =「{Binding ArtItem.Descr}」'但文本框仍爲空... – Jonas
因此,這兩個類都實現了接口,並且通過「ArtItem.Descr」路徑綁定的兩個屬性都是公共的,提高二傳手的相關事件?如果是這樣,這應該工作,因爲'ArtItem'是您的頁面上的一個屬性,它已在DataContext中設置,並且DataContext被繼承到TextBox。可能還有其他我現在無法想到的要求。嘗試[調試綁定](http://blogs.msdn.com/b/wpfsldesigner/archive/2010/06/30/debugging-data-bindings-in-a-wpf-or-silverlight-application.aspx)如果您失敗,請發佈完整的代碼。 –