在Visual Studio 2012中,是否可能创建一个用于用户控件的通用基类XAML?

3

网络上似乎有关于这个问题的一些肯定/否定/绝对不可能的信息。我想创建一个基础类。

class GenericUserControl<T> : UserControl {

     // Lots of cools stuff based on T cause I wanna! In fact T
     // will be the ViewModelClass but please no pedantic discussion on what
     // MVVM is or is not. I want generics in XAML!

}

然后在设计器中基于GenericUserControl创建一个新的具体用户控件。

class MyControl : GenericUserControl<MyControlViewModel> {



}

我看过一些博客文章声称在XAML中使用x:TypeArguments是可能的,似乎有XAML文档http://msdn.microsoft.com/en-us/library/ms750476.aspx表明这个功能是可能的,但我也发现了一些帖子称这个功能在Visual Studio 2012中已经失效。
所以如果这是可能的,任何天才能够找出如何在VS 2012中具体运行它的方法,请在这里发布一个已测试的解决方案,我会非常高兴。
1个回答

2
这可以在XAML中使用x:TypeArguments实现,但已知会破坏各种XAML设计工具(包括Visual Studio和Blend内部的工具)。
该问题已在Visual Studio 2012 XAML设计工具中得到修复,并在Visual Studio 2012 Update 2的最新CTP版本中发布。
讨论:

http://social.msdn.microsoft.com/Forums/en-US/toolsforwinapps/thread/895b38c7-ddde-4d38-8915-493be0efe6a7/

CTP下载:

http://www.microsoft.com/en-us/download/details.aspx?id=36539

不幸的是,它似乎在最新的Visual Studio 2012版本的Blend中无法工作。

我最近在Visual Studio中使其工作。我不使用Blend。 - bradgonesurfing

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