我试图从代码中填充组合框,而不是在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这是你在那里做的一些糟糕的黑客攻击。你可观察的收集方式是有问题的,因为你总是返回一个新的实例。如果你像最近一样手动设置项目源,这个答案应该可以工作。 –