我目前這個確切的代碼工作:XamlParseException當我繼承頁面從通用基礎類
public class ViewModelAwarePage<T> : Page
{
}
public class BaseMainMenuView
: ViewModelAwarePage<String>
{
}
public sealed partial class MainMenuView
: BaseMainMenuView
{
public MainMenuView()
{
this.InitializeComponent();
}
}
和XAML:
<local:BaseMainMenuView
x:Name="pageRoot"
x:Class="Tutorial.UI.WinRT.Views.MainMenuView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:Tutorial.UI.WinRT.Views"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d">
<Grid Background="{StaticResource ApplicationPageBackgroundBrush}">
</Grid>
</local:BaseMainMenuView>
當我嘗試構建該頁面,然後我得到錯誤「BaseMainMenuView不支持網格的內容」
Windows.UI.Xaml.Markup.XamlParseException是由用戶代碼未處理 HResult = -2144665590消息= BaseMainMenuView不支持Grid 作爲內容。 [Line:12 Position:22] Source =「」StackTrace: at Windows.UI.Xaml.Application.LoadComponent(Object component,Uri resourceLocator,ComponentResourceLocation componentResourceLocation) at Tutorial.UI.WinRT.Views.MainMenuView.InitializeComponent( )在c:\ Projects \ Misc \ MvvmCross \ Sample - Tutorial.UI.WinRT.Views。Tutorial.UI.WinRT \ obj \ x86 \ Debug \ Views \ MainMenuView.gics:line 。 MainMenuView..ctor()in c:\ Projects \ Misc \ MvvmCross \ Sample - Tutorial \ Tutorial \ Tutorial.UI.WinRT \ Views \ MainMenuView.xaml.cs:line 40 at Tutorial.UI.WinRT.XamlTypeInfo.XamlTypeInfoProvider .Activate_3_MainMenuView() in c:\ Projects \ Misc \ MvvmCross \ Sample - Tutorial \ Tutorial \ Tutorial .UI.WinRT \ OBJ \ 86 \調試\ XamlTypeInfo.g.cs:線在Tutorial.UI.WinRT.XamlTypeInfo.XamlUserType.ActivateInstance()在 C:\項目\其它\ MvvmCross \樣本 - 教程\教程\ Tutorial.UI.WinRT \ OBJ \ 86 \調試\ XamlTypeInfo.g.cs:行 314的InnerException:
如果我嘗試減少代碼:
public class ViewModelAwarePage : Page
{
}
public class BaseMainMenuView
: ViewModelAwarePage
{
}
public sealed partial class MainMenuView
: BaseMainMenuView
{
public MainMenuView()
{
this.InitializeComponent();
}
}
那麼頁面加載正常。
我完全不理解這個例外 - 我找到的所有Bing/Google命中都提示Silverlight 2出現問題。
任何人都可以解釋錯誤 - 任何人都可以提出如何我可以從通用頁面繼承的想法?
這個星期我就遇到了這個確切的問題,但我是在Win8 RTM和Visual Studio 2012更新1,任何想法的工作? – borrillis 2013-01-31 08:27:34