我在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