2013-01-23 49 views
1

我想知道这件事: Silverlight 4 Support for x:TypeArguments ...但Windows 8商店应用程序。Windows 8商店应用程序支持x:TypeArguments

为什么x:TypeArguments如果不起作用可用?或者我错过了什么?虽然在XAML中定义了x:TypeArguments,但MainPage.i.g.cs文件是使用非泛型基类自动生成的 - 所以当然它不会编译。

我可以得到它与具有“类型定义”基类指定泛型类型的提议变通的工作,但是这种感觉相当哈克给我..

// A generic PageBase, containing standard ViewModel-related utilities 
internal abstract class PageBase<T> : Windows.UI.Xaml.Controls.Page where T : ViewModelBase 
{ 
    protected abstract T ViewModel { get; } 
    ... 
} 

// The hack... 
internal abstract class MainPageTypeDef : PageBase<MainViewModel> 
{ 
    // No code goes here... 
} 

// The page itself 
internal sealed partial class MainPage : MainPageTypeDef 
{ 
} 

<views:PageBase 
    ... 
    x:Class="Namespace.MainView" 
    x:TypeArguments="store:MainViewModel"> 

任何人都知道,如果有没有“typedef”类的方法?

非常感谢, 乔恩

回答

3

可悲的是这是不可能的。我从微软的一位联系人那里得到了一个明确的答案:“我可以证实,但Xam中使用的x:TypeArguments并不是Windows Store应用程序支持的方案。”

0

我敢肯定的答案是一样的Silverlight。 WinRT Xaml在很多方面比Silverlight Xaml更接近WPF,并且他们在包含什么和不包含什么的问题上做出了各种奇怪的决定。

相关问题