C# 如何在C中设置控件模板#

C# 如何在C中设置控件模板#,c#,xaml,windows-runtime,windows-store-apps,C#,Xaml,Windows Runtime,Windows Store Apps,如何使用C#code将元素的.Template属性(例如,在我的示例中是FlipViewItem)设置为我的StandardStyles.xaml中预定义的属性 这是相关的模板: <ControlTemplate x:Key="DocumentFlipViewItemControlTemplate" TargetType="FlipViewItem"> <Grid Width="160" HorizontalAlignment="Left"> &l

如何使用C#code将元素的
.Template
属性(例如,在我的示例中是
FlipViewItem
)设置为我的
StandardStyles.xaml中预定义的属性

这是相关的模板:

<ControlTemplate x:Key="DocumentFlipViewItemControlTemplate" TargetType="FlipViewItem">
    <Grid Width="160" HorizontalAlignment="Left">
        <MyProject:DocumentTabControl Name="MainDocumentTabControl"/>
    </Grid>
</ControlTemplate>

请注意,这是一个不同于的问题-该问题会动态创建一个模板,然后将其分配给控件,我只想设置一个预定义的模板。

更改此部分:

TargetType="FlipViewItem"
对这样的事情:

TargetType="{x:Type FlipViewItem}"
var template = 
    (ControlTemplate)Application.Current
        .MainWindow // Your WPF window.
        .FindResource("DocumentFlipViewItemControlTemplate");
var flipItem = new FlipViewItem { Template = template };
这将在整个应用程序中将样式应用于
类型。现在需要注意的是,您可能需要在类型前面声明名称空间。因此,如果它来自标准库以外的其他库,您可能需要以下内容:

TargetType="{x:Type local:FlipViewItem}"

我知道这个问题很老,但你可以这样简单地分配它:

TargetType="{x:Type FlipViewItem}"
var template = 
    (ControlTemplate)Application.Current
        .MainWindow // Your WPF window.
        .FindResource("DocumentFlipViewItemControlTemplate");
var flipItem = new FlipViewItem { Template = template };
然后将其分配给
FlipViewItem
,如下所示:

TargetType="{x:Type FlipViewItem}"
var template = 
    (ControlTemplate)Application.Current
        .MainWindow // Your WPF window.
        .FindResource("DocumentFlipViewItemControlTemplate");
var flipItem = new FlipViewItem { Template = template };

好的,这非常接近,但是我还有其他
FlipViewItem
我不想使用此模板,是否有方法为
FlipViewItem
的特定实例设置模板?是否可以为特定的
FlipView
使用样式,使其所有
FlipViewItem
都具有相同的模板?我不熟悉此控件,但如果它具有ItemContainerStyle属性,则应将其设置为:ItemContainerStyle=”{StaticResource DocumentFlipViewItemStyle}“谢谢,我来试试