C# Silverlight组合框并选择EdItem
我有以下情况: 1包含一年中月份的列表:C# Silverlight组合框并选择EdItem,c#,silverlight-3.0,C#,Silverlight 3.0,我有以下情况: 1包含一年中月份的列表: public List<String> Months { get { return m_Months; } } m_Months = new List<String>(); for (int i = 1; i <= 12; i++) { DateTime date = new DateTime(1900, i, 1); m_Months.Add(date.ToSt
public List<String> Months
{
get
{
return m_Months;
}
}
m_Months = new List<String>();
for (int i = 1; i <= 12; i++)
{
DateTime date = new DateTime(1900, i, 1);
m_Months.Add(date.ToString("MMM"));
}
公开列表月份
{
得到
{
返回m_月;
}
}
m_月=新列表();
对于(int i=1;i您如何设置Month
属性?我不确定组合框如何确定两个项目是否相同,但我可以看出,如果您输入的是“May”而不是Months[4],它将无法正常工作
。作为测试,您可以尝试传入列表中的一个字符串,看看这是否解决了问题。谢谢您的回复。已经尝试了您的建议,并获得了相同的结果。但是,我刚刚经历了荷马·辛普森时刻(Dôh!),发现我在组合框设置其项源之前设置了月份
奇怪的是,RadComboBox做的一切都是正确的。当ItemsSource更改时,它可能会再次检索SelectedItem
编辑:
好吧,我真的很惊讶地从椅子上摔了下来。很明显,SL3还有一些bug需要修复。请欣赏以下内容
这不起作用:
<ComboBox SelectedItem="{Binding Month, Mode=TwoWay}" ItemsSource="{Binding Months}" />
这就是:
<ComboBox ItemsSource="{Binding Months}" SelectedItem="{Binding Month, Mode=TwoWay}" />
看到细微的差别了吗?只要我在XAML中的SelectedItem之前设置ItemsSource,世界上一切都很好。哇,我从来都不知道XAML是线性解析的!希望他们在Silverlight 4中修复了它,但感谢你发布了这个答案。哇,我们浪费了很多时间试图弄清楚这一点。感谢你发布了t他回答!@Kevin这在SL4中不是固定的。
<ComboBox ItemsSource="{Binding Months}" SelectedItem="{Binding Month, Mode=TwoWay}" />