我在WPF控件上做了一些維護工作,這些我都不太熟悉,而且我正在爲WPF中的一些基礎工作掙扎。在XAML窗口的組合框中顯示類項目
我有下面的代碼,我的理解是被稱爲「代碼隱藏」:
Class MainWindow
Private _myStrings As New List(Of String)({"one", "two", "three", "four", "five"})
Public Property myStrings As List(Of String)
Get
Return _myStrings
End Get
Set(value As List(Of String))
_myStrings = value
End Set
End Property
End Class
我再有這樣的WPF的東西,它定義了一個十分可怕的組合框。
<Window x:Class="MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<ComboBox Margin="0,10,0,0"
x:Name="cboItem"
TabIndex="1"/>
</Grid>
</Window>
問題:所有我想知道的是我如何正確地創建的XAML顯示在cboItem組合框的myStrings
列表參考?一旦我知道了,我可以開始理解databinding concepts in detail,但現在,我需要有人爲我解釋真正基本的東西,比如「如何告訴XAML在哪裏查找數據?」
感謝。儘管如何設置ComboBox本身的DataContext?如果我嘗試移植代碼並將其寫回維護項目中,我會想象將DataContext設置爲更高級別會破壞該控件上的所有其他代碼。 – Frosty840
已經更新了答案,但如果可能的話,我會嘗試使用其他所有內容。黑客入侵代碼背後並不是很好。 – GazTheDestroyer
是的,當然,維護項目本身已經被徹底濫用,甚至不會將'''註釋作爲文檔註冊。他們只是坐在那裏作爲評論。我很害怕做任何事情,以至於我無法看到它被固定在任何真正的程度。我在MVVM中有另一個傳統的WPF項目,我可以看到它的優點,但這並不是一個更好的狀態。它不使用依賴屬性,它使用各種奇怪的變通辦法來篡改所有內容。基本上,所有這些都已經過去了。儘管如此,我真的很欣賞這些建議。 – Frosty840