我試圖從代碼中填充組合框,而不是在XAML上定義值。但是,無論我嘗試綁定方法還是從列表中設置它們,我似乎都無法使其工作。從代碼填充UWP Combobox
下面的類
public class Quote
{
public int Value;
public string DisplayValue;
}
而下面的觀察集合
public ObservableCollection<Quote> QuoteCollection
{
get
{
return new ObservableCollection<Quote>
{
new Quote{ DisplayValue = "6", Value = 6 },
new Quote{ DisplayValue = "12", Value = 12 },
new Quote{ DisplayValue = "18", Value = 18 },
new Quote{ DisplayValue = "24", Value = 24 },
new Quote{ DisplayValue = "30", Value = 30 },
new Quote{ DisplayValue = "36", Value = 36 },
new Quote{ DisplayValue = "42", Value = 42 },
new Quote{ DisplayValue = "48", Value = 48 },
new Quote{ DisplayValue = "54", Value = 54 },
new Quote{ DisplayValue = "60", Value = 60 }
};
}
}
我似乎無法得到它的工作,似乎沒有什麼,當我綁定像這樣的情況發生:
<local:ExtendedComboBox x:Name="quotes" ItemsSource="{Binding QuoteCollection}" DisplayMemberPath="DisplayValue"/>
而當我嘗試從這樣的集合列表中添加它:
quotes.ItemsSource = new List<Quote>
{
new Quote{ DisplayValue = "6", Value = 6 },
new Quote{ DisplayValue = "12", Value = 12 },
new Quote{ DisplayValue = "18", Value = 18 },
new Quote{ DisplayValue = "24", Value = 24 },
new Quote{ DisplayValue = "30", Value = 30 },
new Quote{ DisplayValue = "36", Value = 36 },
new Quote{ DisplayValue = "42", Value = 42 },
new Quote{ DisplayValue = "48", Value = 48 },
new Quote{ DisplayValue = "54", Value = 54 },
new Quote{ DisplayValue = "60", Value = 60 }
};
Combobox似乎充滿了一些東西,但所有的選項都是空白的。
ExtendedComboBox直接取自here,兩種解決方案取自here。
它仍然沒有顯示任何東西。我只是通過將ItemsSource分配給列表,然後在需要使用它時將值轉換爲int32來「解決它」。 –
user8296390
@ user8296390這是你在那裏做的一些糟糕的黑客攻擊。你可觀察的收集方式是有問題的,因爲你總是返回一個新的實例。如果你像最近一樣手動設置項目源,這個答案應該可以工作。 –