我在WPF 4和VB.net 2010中有一個項目。我想將mediaelement的volume屬性綁定到另一個模塊中的變量。請注意,變量是正確的數據類型,所以不需要轉換。我該怎麼做呢?將數據綁定WPF屬性到變量
0
A
回答
2
首先,確保您的代碼實現INotifyPropertyChanged。
這裏舉例:http://www.codekeep.net/snippets/4c7ed2e5-7e3b-40b4-b976-d54b54d9bf5b.aspx
所有這一切是一種方式來通知已經改變,對於音量值的UI,它需要搶在結合新的價值。
第二件事是你需要以某種方式從代碼中的其他模塊訪問變量,然後在你的代碼中使用Property來引用它。這裏的屬性的例子,如果你不熟悉的:
http://www.xtremevbtalk.com/showthread.php?p=688701
現在的訣竅是,當你設置的財產,你要還致電通知屬性更改事件。
Public Property Volume()
Get
Volume() = YourModuleVolume
End Get
Set(ByVal Value)
YourModuleVolume = Value
'Call NotifyPropertyChanged("Volume") here
End Set
End Property
我不記得,如果背後類的代碼自動將自己設置爲DataContext的用戶控件,所以你可能要在「this.DataContext =本」或VB.NET等同於放棄你構造函數。通常DataContext是從你的ViewModel自動獲取的。基本上說,使用指定的類(即後面的代碼)作爲所有數據綁定的來源。
然後在XAML這是一個通常的數據綁定。
<YourControl Volume="{Binding Volume}" />
作爲一個方面說明,這實在不是一個怎樣通常會關於建立一個WPF應用程序,所以此方案是一個有點古怪。如果你打算用WPF做很多事情,你可能需要研究MVVM上的Josh Smith的資源 - 這實際上是WPF應用程序的預期架構。
祝你好運!
相關問題
- 1. 將變量綁定到.net textbox.text屬性
- 2. WPF綁定:屬性與變量
- 3. WPF綁定到不變屬性
- 4. WPF數據綁定與繼承 - 綁定到基地的屬性
- 5. WPF數據綁定:綁定到引用其他兩個屬性
- 6. 無法將WPF TextBlock綁定到屬性
- 7. WPF綁定屬性到Datagrid
- 8. WPF綁定到UserControl屬性
- 9. WPF:綁定到MainWindow屬性
- 10. 綁定到WPF屬性的屬性
- 11. 如何將數據綁定到WPF Usercontrol中的屬性?
- 12. AngularJS將值綁定到數據屬性
- 13. 數據綁定屬性C#WPF
- 14. WPF附加屬性數據綁定
- 15. WPF依賴屬性數據綁定
- 16. WPF數據綁定IsEnabled屬性
- 17. 數據綁定在WPF依賴屬性
- 18. WPF:數據綁定字典屬性
- 19. 寬度屬性的WPF數據綁定
- 20. WPF數組屬性綁定
- 21. Wpf將兩個變量綁定到Margin
- 22. 我不能將數據綁定到WPF/XAML的局部變量
- 23. 將文本框的文本屬性綁定到MainWindow上定義的變量WPF
- 24. 如何將公共屬性綁定到WPF TextBox.Text屬性
- 25. WPF將ViewModel屬性綁定到附加屬性
- 26. WPF將usercontrol的屬性綁定到父級的屬性
- 27. 將WPF ContextMenu MenuItem綁定到UserControl屬性vs ViewModel屬性
- 28. WPF綁定常量變量VS靜態屬性
- 29. WPF自定義控件屬性沒有收到數據綁定
- 30. 如何將高度屬性綁定到一個變量在C#代碼WPF
你能再給我們幾個細節嗎?一般來說,UI組件綁定到名爲ViewModel的類,該類是UI的抽象。此ViewModel包含與UI屬性綁定的變量(例如Volume)。 ViewModel可以是任何地方的一個類,甚至可以來自另一個模塊(如果你在這裏說的是CAL模塊)。然而,如果它是一個隨機類的隨機變量,那麼你可能會想要創建一個新的ViewModel類,然後在你的其他類的變量周圍執行getter + setter組合,並實現INotifyProperty的更改。 – 2011-04-04 02:02:40
哈哈,我還沒有足夠的技巧來操作那麼複雜。該媒體元素位於WPF頁面中,該變量位於公共範圍的vb.net模塊中(該變量也是公共範圍)。所以,getter + setter組合可能是最好的選擇。我會怎麼做? (請在回答中回答,所以我可以對你的看法,如果它的工作:) – CodeMouse92 2011-04-04 02:15:20
我需要知道更多的一塊,以便有人可以回答:你目前如何支持你的觀點與數據? WPF允許您像在WinForms中一樣放置代碼,或者可以將數據類型(ViewModel類類型)綁定到特定的View。 – 2011-04-04 03:11:10