模板未加载

时间:2012-12-21 17:06:00

标签: wpf xaml templates styles

我有一个WPF模板,但在启动应用程序时它没有出现。 WPF中没有错误,也没有任何错误。只是没有使用模板。如何找出问题所在?

<ResourceDictionary.MergedDictionaries>
    <ResourceDictionary Source="MoveThumb.xaml"/>
    <ResourceDictionary Source="ResizeDecorator.xaml"/>
    <ResourceDictionary Source="RotateDecorator.xaml"/>
</ResourceDictionary.MergedDictionaries>

<!-- ContentControl style to move, resize and rotate items -->
<Style x:Key="DesignerItemStyle" TargetType="ContentControl">
    <Setter Property="MinHeight" Value="50"/>
    <Setter Property="MinWidth" Value="50"/>
    <Setter Property="RenderTransformOrigin" Value="0.5,0.5"/>
    <Setter Property="SnapsToDevicePixels" Value="true"/>
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="ContentControl">
                <Grid DataContext="{Binding RelativeSource={RelativeSource TemplatedParent}}">
                    <Control Name="RotateDecorator"
                 Template="{StaticResource RotateDecoratorTemplate}"
                 Visibility="Collapsed"/>
                    <s:MoveThumb Template="{StaticResource MoveThumbTemplate}"
                     Cursor="SizeAll"/>
                    <Control x:Name="ResizeDecorator"
                 Template="{StaticResource ResizeDecoratorTemplate}"
                 Visibility="Collapsed"/>
                    <ContentPresenter Content="{TemplateBinding ContentControl.Content}"/>
                </Grid>
                <ControlTemplate.Triggers>
                    <Trigger Property="Selector.IsSelected" Value="True">
                        <Setter TargetName="ResizeDecorator" Property="Visibility" Value="Visible"/>
                        <Setter TargetName="RotateDecorator" Property="Visibility" Value="Visible"/>
                    </Trigger>
                </ControlTemplate.Triggers>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>

<!-- RotateDecorator Template -->
<ControlTemplate x:Key="RotateDecoratorTemplate" TargetType="Control">
    <Grid>
        <my:RotateThumb Margin="-18,-18,0,0" VerticalAlignment="Top" HorizontalAlignment="Left"/>
        <my:RotateThumb Margin="0,-18,-18,0" VerticalAlignment="Top" HorizontalAlignment="Right">
            <my:RotateThumb.RenderTransform>
                <RotateTransform Angle="90" />
            </my:RotateThumb.RenderTransform>
        </my:RotateThumb>
        <my:RotateThumb Margin="0,0,-18,-18" VerticalAlignment="Bottom" HorizontalAlignment="Right">
            <my:RotateThumb.RenderTransform>
                <RotateTransform Angle="180" />
            </my:RotateThumb.RenderTransform>
        </my:RotateThumb>
        <my:RotateThumb Margin="-18,0,0,-18" VerticalAlignment="Bottom" HorizontalAlignment="Left">
            <my:RotateThumb.RenderTransform>
                <RotateTransform Angle="270" />
            </my:RotateThumb.RenderTransform>
        </my:RotateThumb>
    </Grid>
</ControlTemplate>

1 个答案:

答案 0 :(得分:1)

尝试 REORDER dictioneries&amp;模板,看看它是否有效,

全部关于 ORDER ,因为即使您没有定位同一个UIElement,最后一个词典总是覆盖他以前的词典(模板)! / p>