【发布时间】:2016-02-03 03:13:31
【问题描述】:
我正在尝试解决 WinRT Xaml 中的 difficulties in binding to a Dictionary(也称为 here)。我想使用转换器来执行此操作,而不必更改所有视图模型或业务代码以返回自定义键值类的列表。
这意味着我需要将一个对象转换为某种类型的 List。
public object Convert(object value, Type targetType, object parameter, string temp)
{
if(value is IDictionary)
{
dynamic v = value;
foreach (dynamic kvp in v)
{
}
}
return //some sort of List<>
}
虽然我不知道该怎么做。当我将鼠标悬停在调试器中的值上时,它仍然记得它的适当类型(如 Dictionary),但我不知道如何在运行时使用它。主要问题是 Convert 函数在编译时不知道 Keys 或 Values 的类型,因为我使用了多种类型的字典。
我需要做些什么来将对象类型(保证实际上是 Dictionary)转换为某种列表,以便我可以在 XAML 中绑定到它?
【问题讨论】:
标签: c# dictionary reflection casting windows-runtime