0

次のウィンドウ定義があります

<Window x:Class="MyWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Style="{StaticResource ShapedWindow}"
        Title="Title">
    <Grid Name="grid1" />
</Window>

次のスタイルとテンプレートの定義で

<Style x:Key="ShapedWindow" TargetType="{x:Type Window}">
        <Setter Property="AllowsTransparency" Value="True"></Setter>
        <Setter Property="WindowStyle" Value="None"></Setter>
        <Setter Property="Background" Value="Transparent"></Setter>
        <Setter Property="MinWidth" Value="300" />
        <Setter Property="MinHeight" Value="300" />
        <Setter Property="Template" Value="{StaticResource ShapedWindowTemplate}"></Setter>
</Style>

<ControlTemplate x:Key="ShapedWindowTemplate" TargetType="{x:Type Window}">
    <!--<AdornerDecorator>
        <ContentPresenter />
    </AdornerDecorator>-->
</ControlTemplate>

デザイナーで次のウィンドウを生成します

コントロール テンプレートの前のウィンドウ

テンプレート定義からコメントを削除すると、グリッドが同じ位置にレンダリングされないように見えますか? ここで何が欠けていますか?

ここに画像の説明を入力

4

1 に答える 1

1

VS2010 Designerでこの動作を数回見たことがありますが、これはバグであると確信しています。

空のTemplateでは、レンダリングするものが何もないため、 をまったく見ることができないはずGridです。ControlTemplate のコメントを削除すると、テンプレートVS2010 Designer設定するたびに発生するバグである可能性が最も高いため、実際に何かが欠けているとは思いません。Expression Blend で作成されたデフォルトのウィンドウ テンプレートを使用しても発生します。Window

これは、 VS2010 DesignerExpression Blend 4を Default Template を使用して比較したものです。ご覧のとおりWindow、これは本当にバグのようです。

ここに画像の説明を入力

GroupBox注: 設定した ControlTemplate がデフォルトの Template と同一であっても、set the Template for a を使用するとまったく同じことが起こります

于 2011-02-05T22:58:00.603 に答える