2

如何使用 C# 代码将.Template元素的属性(例如FlipViewItem我的情况)设置为我的预定义属性StandardStyles.xaml

这是相关的模板:

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

请注意,这是与如何在代码中设置控制模板不同的问题?- 该问题即时创建一个模板,然后将其分配给控件,我只想设置一个预定义的模板。

4

3 回答 3

3
    <Style x:Key="DocumentFlipViewItemStyle" TargetType="FlipViewItem" >
            <Setter Property="Template" Value="{StaticResource DocumentFlipViewItemControlTemplate}"/>
    </Style>
于 2012-12-31T16:36:56.797 回答
0

更改此部分:

TargetType="FlipViewItem"

像这样:

TargetType="{x:Type FlipViewItem}"

这会将样式应用于type整个应用程序。现在要注意的一件事是,您可能需要在类型前面声明名称空间。因此,如果它来自标准库以外的其他东西,您可能需要以下内容:

TargetType="{x:Type local:FlipViewItem}"
于 2012-12-31T16:34:19.597 回答
0

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

var template = 
    (ControlTemplate)Application.Current
        .MainWindow // Your WPF window.
        .FindResource("DocumentFlipViewItemControlTemplate");

然后你把它分配给你FlipViewItem这样的:

var flipItem = new FlipViewItem { Template = template };
于 2016-02-16T19:08:07.633 回答