如何在C#中将改进的字典插入到我的集合中(Windows应用商店应用)

时间:2015-04-23 09:57:36

标签: c# xaml dictionary windows-store-apps

您好我发现直接在组合框中使用字典对Windows应用商店应用程序效果不佳。这是产生错误的完整代码。

我的模特

 class QuestionModel
{
    public QuestionModel(int Key, string Question, Dictionary<string, string> Answers)
    {
    key = Key;
    question = Question;
        answers=Answers;
    }

    public int key { get; set; }
    public string question { get; set; }
    public Dictionary<string, string> answers { get; set; }
}

填充收集代码

    ObservableCollection<QuestionModel> questionCollection = new ObservableCollection<QuestionModel>();

foreach (KeyValuePair<int, Dictionary<string, string>> pair in CommonVariables.answersINR)
                    {

                        if (item.Key==pair.Key)
                        {
                         questionCollection.Add(new QuestionModel(item.Key, item.Value,pair.Value));

   }
   }

我的Xaml组合框

 <ComboBox Height="40" VerticalAlignment="Stretch" x:Name="QuestioncomboBox" Grid.Column="1" FontSize="25" ItemsSource="{Binding Path=answers}" SelectedValuePath="Key" DisplayMemberPath="Value">
                    </ComboBox>

所以你可以看到这对。 value在我的集合的答案部分加载数据。但是我今天刚刚通过研究发现Windows Store Apps组合框与字典不兼容。所以堆栈中有人将pair.value修改为这行代码。

pair.Value.Select(f => new { Key = f.Key, Value = f.Value }).ToList();

适用于填充组合框。唯一的问题是如何将其插入到questioncollection而不是pair.value?有人可以通过重写我的代码以适应上面这样的代码行来提供帮助吗?

questionCollection.Add(new QuestionModel(item.Key, item.Value,pair.Value.Select(f => new { Key = f.Key, Value = f.Value }).ToList();));

在那个给我一个错误的那一刻我无法解决?

0 个答案:

没有答案