2015-08-09 65 views
-2

我试图通过调整the wisdom of the internet将列表绑定到组合框,但它似乎并没有呈现我提供的字符串。 Intellisense说,组合框有三个项目,但它们只是不出现在屏幕上。无法获得代码绑定为组合框工作

Binding binding = new Binding(); 
binding.Source = new List<String> {"aa","bb","cc"}; 
MyComboBox.SetBinding(ComboBox.ItemsSourceProperty, binding); 

可以肯定的是,我尝试使用下面的代码与标签控件相同。这一个似乎工作,所以我觉得我把我的垃圾放在错误的洞里。

Binding binding = new Binding(); 
binding.Source = "Beep"; 
MyLabel.SetBinding(Label.ContentProperty, binding); 

编辑

总是试图创建一个最小的例子,这在一些罕见的情况下可能会导致关键的细节排斥。以下是XAML代码。

<ComboBox x:Name="MyComboBox" 
        DisplayMemberPath="Canonic" 
        Style="{StaticResource DefaultComboBoxStyle}" />--> 
+1

适合我。还有什么可能会阻止你的物品出现吗?自定义DataTemplate或样式不正确,也许? – Jedediah

+0

@Jedediah花了我一段时间,但后来我看到了它。这是组合框的属性,它挑选提供的对象的哪个字段作为源查看。我之前使用了一种复杂的数据类型,并将其指向属性* Cannonic *,但是对于字符串,这不是必需的。发表您的评论和我的综合答复,以便我可以给你一些声望并接受答案。 –

回答

0

您在xaml中犯了一个小错误。

Binding是一个简单的字符串集合,而不是POCO。在List<string>中没有Canonic的房产,因为您没有得到预期的结果