Xaml Windows 8存储应用程序对x:TypeArguments的支持
我想知道与此相同的事情: ... 但对于Windows 8应用商店应用程序 如果x:TypeArguments不起作用,为什么它可用?还是我遗漏了什么?MainPage.i.g.cs文件是使用非泛型基类自动生成的,即使x:TypeArguments是在XAML中定义的,所以它当然不会编译 我可以使用建议的解决方案,即使用一个“typedef”基类来指定泛型类型,但这让我感觉很不舒服Xaml Windows 8存储应用程序对x:TypeArguments的支持,xaml,generics,windows-store-apps,Xaml,Generics,Windows Store Apps,我想知道与此相同的事情: ... 但对于Windows 8应用商店应用程序 如果x:TypeArguments不起作用,为什么它可用?还是我遗漏了什么?MainPage.i.g.cs文件是使用非泛型基类自动生成的,即使x:TypeArguments是在XAML中定义的,所以它当然不会编译 我可以使用建议的解决方案,即使用一个“typedef”基类来指定泛型类型,但这让我感觉很不舒服 // A generic PageBase, containing standard ViewModel-rela
// 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">
//包含标准ViewModel相关实用程序的通用PageBase
内部抽象类PageBase:Windows.UI.Xaml.Controls.Page其中T:ViewModelBase
{
受保护的抽象视图模型{get;}
...
}
//黑客。。。
内部抽象类MainPageTypeDef:PageBase
{
//这里没有代码。。。
}
//页面本身
内部密封部分类主页面:主页面类型定义
{
}
有人知道有没有办法不使用“typedef”类吗
非常感谢,,
乔恩我很确定答案和Silverlight的答案是一样的。WinRT Xaml在很多方面比WPF更接近Silverlight Xaml,而且他们已经做出了各种奇怪的决定,包括什么和不包括什么。遗憾的是,这是不可能的。我从一位微软联系人那里得到了一个明确的答案:“我可以确认,但是在Xaml中使用的x:TypeArguments不受Windows应用商店应用程序支持。”