2013-01-23 50 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,並且他們在包含什麼和不包含什麼的問題上做出了各種奇怪的決定。

相關問題