C# 无法将资源放置在ContentControl中

C# 无法将资源放置在ContentControl中,c#,xaml,windows-runtime,winrt-xaml,C#,Xaml,Windows Runtime,Winrt Xaml,此XAML在Windows应用商店应用程序中不起作用: <ContentControl Grid.Column="1" Content="{StaticResource AddUserStep1Control}" /> 控件如下所示: <UserControl> .. namespace etc. <Grid> <Grid.Resources> <Style TargetType="But

此XAML在Windows应用商店应用程序中不起作用:

<ContentControl Grid.Column="1" Content="{StaticResource AddUserStep1Control}" />
控件如下所示:

<UserControl>

.. namespace etc.

    <Grid>
        <Grid.Resources>
            <Style TargetType="Button">
                <Setter Property="Margin" Value="10" />
                <Setter Property="FontSize" Value="96" />
                <Setter Property="Padding" Value="50, 20" />
            </Style>
        </Grid.Resources>
        <StackPanel>
            <TextBlock HorizontalAlignment="Center" FontSize="96" Margin="0,50,0,30">I am a...</TextBlock>
            <StackPanel Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center">
                <Button>Boy</Button>
                <Button>Girl</Button>
            </StackPanel>
        </StackPanel>
    </Grid>
</UserControl>

.. 名称空间等。
我是一个。。。
男孩
姑娘
据我所知,
ContentControl
可以包含任何内容。我将
Content
属性绑定到视图模型,然后从应用程序资源中获取
UserControl
,并将其设置在视图模型属性上,但这又产生了另一个错误,导致我尝试在XAML中完成这一切

我能够在视图模型的代码中实例化一个
TextBlock
,并将其设置在绑定属性上,然后在UI中查看该控件和文本,但
UserControl
的情况并非如此

以下是错误消息:

类型的第一次机会例外 中出现“Windows.UI.Xaml.Markup.XamlParseException” GlyphWriterStoreApp.exe

WinRT信息:未能分配给属性 “Windows.UI.Xaml.Controls.ContentControl.Content”因为 无法将“Windows.UI.Xaml.Controls.UserControl”分配给该类型 “对象”。[行:55位置:45]

其他信息:与此错误代码关联的文本可能会丢失 找不到

未能分配给属性 “Windows.UI.Xaml.Controls.ContentControl.Content”因为 无法将“Windows.UI.Xaml.Controls.UserControl”分配给该类型 “对象”。[行:55位置:45]

如果存在此异常的处理程序,则程序可能会安全运行 继续

更新1


因此,问题在于将作为资源的控件设置为
内容
。我刚刚尝试了一个
TextBlock
,它在
App.xaml
中声明,并给出了相同的错误。

似乎是一个已知的问题

这很奇怪,因为即使在代码中加载资源(生成任何控件的实例)也不起作用,而在代码中实例化控件确实起作用,即使它们是相同的

它们只是对象引用。很奇怪。看起来我必须在运行时动态实例化我的控件类型,或者使用模板选择器

<UserControl>

.. namespace etc.

    <Grid>
        <Grid.Resources>
            <Style TargetType="Button">
                <Setter Property="Margin" Value="10" />
                <Setter Property="FontSize" Value="96" />
                <Setter Property="Padding" Value="50, 20" />
            </Style>
        </Grid.Resources>
        <StackPanel>
            <TextBlock HorizontalAlignment="Center" FontSize="96" Margin="0,50,0,30">I am a...</TextBlock>
            <StackPanel Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center">
                <Button>Boy</Button>
                <Button>Girl</Button>
            </StackPanel>
        </StackPanel>
    </Grid>
</UserControl>