【发布时间】:2013-01-23 11:20:49
【问题描述】:
我想知道与此相同的事情: Silverlight 4 Support for x:TypeArguments ...但对于 Windows 8 应用商店应用程序。
如果 x:TypeArguments 不起作用,为什么它可以使用?还是我错过了什么? MainPage.i.g.cs 文件是使用非泛型基类自动生成的,即使 x:TypeArguments 是在 XAML 中定义的 - 所以它当然不会编译。
我可以使用建议的解决方法,即拥有一个指定泛型类型的“typedef”基类,但这对我来说感觉很hacky..
// 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”类吗?
非常感谢, 乔恩
【问题讨论】:
标签: xaml generics windows-store-apps