我需要将一个Observable集合绑定到WPF应用程序中的AutoComplete Text框。但是当我在设计器中绑定后运行应用程序时,我在下拉列表中显示了我的完整BL类参考。如何避免这种行为?另外,我想在下拉列表中显示一些其他属性(作为详细信息视图),一旦从List中选择一个项目,我应该能够获得对象的Other属性。有人可以附带代码片段吗?
答案 0 :(得分:0)
在没有看到你的代码的情况下,我假设你的ObservableCollection是一个用户定义的对象,你将ItemsSource绑定到ObservableCollection而不提供DataTemplate。然后,DataTemplate中的控件将绑定到ObservableCollection中存储的对象的公共属性。
DataTemplate还允许您在下拉列表框中显示所需的所有属性。由于我不知道你正在使用的自动完成文本框,我无法真正举例说明DataTemplate。
以下是ListBox DataTemplate的一个简单示例:
<ListBox Width="400" Margin="10"
ItemsSource="{Binding Source={StaticResource myTodoList}}">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding Path=TaskName}" />
<TextBlock Text="{Binding Path=Description}"/>
<TextBlock Text="{Binding Path=Priority}"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
以下链接可为您提供所需的所有信息:http://msdn.microsoft.com/en-us/library/ms742521.aspx。
答案 1 :(得分:0)
ItemTemplate
中有AutoCompleteTextBox
个属性。您可以使用它在下拉列表中显示您想要的任何内容。