2015-08-09 30 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的房產,因爲您沒有得到預期的結果