我正在开发Windows Phone 8.1 XAML应用程序(C#)。在此应用程序的某些组合框中,当用户选择组合框中的第一个项目时,组合框显示一个类名,而不是用户选择的实际项。对于例如其中一个组合框的定义如下:
<ComboBox ItemsSource="{Binding Ages}" Name="minAgeComboBox" />
正在从xaml.cs填充这样的内容:
var list = new List<string>();
for (int i = 18; i <= 99; i++) list.Add(i.ToString());
DefaultViewModel["Ages"] = list;
minAgeComboBox.SelectedIndex = -1;
当用户按下提交按钮时,我得到组合框的值,如下所示:
var minAge = minAgeComboBox.SelectedItem as string;
当我运行此应用程序时,组合框正确显示&#34; 18&#34;作为选定的项目。当我点击组合框时,我会看到一个从18到99的数字列表。到目前为止,一切都很好。但是当我从列表中选择第一个项目(即18)时,列表将关闭,组合框将显示
MyAppName.ObservableDictionary
如果我在组合框中按下提交按钮,则c#代码仍然正确地将所选项目文本读取为&#34; 18&#34;。唯一被破解的是组合框上的文字。
这是一个错误吗?是否有已知的解决方案或解决方法?