标题说了很多,但这就是我的所作所为:
组合框填充确定,该组正在100%工作。但是,我想获得当前选择的值。当没有绑定组合框时,我可以很容易地去combobox.Text
,但它返回“ApplicationName.Object”而不是实际值。
我认为这是由于绑定和属性在某些时候没有被检测为字符串。只是不知道在哪里和如何。我很欣赏代码,但也感谢它的行为。当谈到WPF时,我不是专家,对我来说绑定对我来说仍然是个新事物。 (现在几个月)
代码:
XAML:
<ComboBox x:Name="SummTool_CompanyDD" LostFocus="UpdateFinalSummary" Height="20" Width="180">
<ComboBox.GroupStyle>
<GroupStyle>
<GroupStyle.HeaderTemplate>
<DataTemplate>
<TextBlock FontWeight="Bold" Text="{Binding Name}"/>
</DataTemplate>
</GroupStyle.HeaderTemplate>
</GroupStyle>
</ComboBox.GroupStyle>
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Margin="5,0" Text="{Binding Name}"/>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
vb.net:
Dim itemsCompany As List(Of ItemCB) = New List(Of ItemCB)
Dim category As String = ""
For Each company In CompanyList
If company.StartsWith("**") Then
category = company.Substring(2)
Else
Dim newItem As ItemCB = New ItemCB()
newItem.Name = company
newItem.Category = category
itemsCompany.Add(newItem)
End If
Next
Dim lcv As ListCollectionView = New ListCollectionView(itemsCompany)
lcv.GroupDescriptions.Add(New PropertyGroupDescription("Category"))
SummTool_CompanyDD.ItemsSource = lcv
以上是组合框的初始化。 CompanyList
是一个简单的字符串数组。然后当我SummTool_CompanyDD.Text
时,我得到ApplicationName.ItemCB
。
谢谢和问候,