如何将d:DesignInstance设置为通用类型?

24
一个简单的问题 ;-)
我声明了:
     xmlns:om="clr-namespace:System.Collections.ObjectModel;assembly=System"
我尝试将一个泛型设置为DataType类型:
 <DataGrid d:DataContext="{
     d:DesignInstance Type=om:ObservableCollection&lt;System:Int32&gt;}" />

但是我收到了一个错误:"类型格式无效"。

有人有任何想法如何解决这个问题吗?


1
请看这个解决方案:https://dev59.com/PGMk5IYBdhLWcg3w8ieC#46637478 - uli78
1
@Revious,哇,我也这么认为!H.B.的回答看起来非常好。非常感谢你!!! - Eric Ouellet
2个回答

17

暂不支持泛型。 我们可以从任何泛型派生一个类,并使用该类代替。

哎呀,看下面来自“Jan'splite'K”的评论。听起来好像有一种标记扩展可以完成这项工作。

另外,请查看uli78的链接

更新2021-09-30 ,我认为这里给出了一个很好的答案:如何将WPF xaml表单的设计DataContext设置为使用泛型类型参数的类(感谢Revious的评论)


7
你好,来自五年后的我,仍然没有支持!:) 对于像我这样的随机谷歌搜索者,有一个标记扩展 - Jan 'splite' K.

8
你可以尝试这样做:
<DataGrid d:DataContext="{d:DesignInstance Type={x:Type om:ObservableCollection`1}}" />

这实际上是有效的,尽管我不知道为什么 :-) - Haukinger

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接