【问题标题】:Windows 8 Store Application Support for x:TypeArgumentsx:TypeArguments 的 Windows 8 应用商店应用程序支持
【发布时间】: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


    【解决方案1】:

    很遗憾,这是不可能的。我从 Microsoft 联系人那里得到了明确的答复:“我可以确认,但 Xaml 中使用的 x:TypeArguments 不是 Windows 应用商店应用程序支持的场景。”

    【讨论】:

      【解决方案2】:

      我很确定答案与 Silverlight 相同。 WinRT Xaml 在很多方面都更接近 Silverlight Xaml,而不是 WPF,而且他们在包含哪些内容和不包含哪些内容方面做出了各种奇怪的决定。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-08-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-03-30
        • 1970-01-01
        相关资源
        最近更新 更多