1

最近、いくつかのデータを視覚化するUserControlためにを作成しました。各要素の間にスペースを確保するためにWrapPanel、 a を適用しました。Padding

最初のバージョンは次のようになりました。

<UserControl x:Class="IFCS.EntityOverviewPanel"
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
         xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
         xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
         xmlns:l="clr-namespace:IFCS"
         mc:Ignorable="d"
         Padding="5, 5, 5, 5"
         d:DesignHeight="300" d:DesignWidth="300">
    <!-- Code -->
</UserControl>

今、私は自分の設定ControlTemplateを上書きする a をそれに適用しました。Padding

現在のバージョンは次のようになります。

<UserControl x:Class="IFCS.EntityOverviewPanel"
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
         xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
         xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
         xmlns:l="clr-namespace:IFCS"
         mc:Ignorable="d"
         d:DesignHeight="300" d:DesignWidth="300">
    <UserControl.Template>
        <ControlTemplate TargetType="UserControl">
            <!-- Code -->
        </ControlTemplate>
    </UserControl.Template>
</UserControl>

Paddingもう一度申請したいのですが、UserControl試したすべてがうまくいきませんでした。Style私は使用して適用しようとしました

<UserControl.Style>
    <Style TargetType="{x:Type UserControl}">
        <Setter Property="Padding" Value="5, 5, 5, 5"/>
    </Style>
</UserControl.Style>

しかし、これはうまくいきませんでした。Padding「ヘッダー」に設定しても機能しません。

Padding最初のバージョンと同じ結果を得るには、どこに値を設定する必要がありますか?

4

1 に答える 1

4
<UserControl Padding="5,5,5,5">
    <UserControl.Template>
        <ControlTemplate TargetType="UserControl">
            <ContentPresenter Margin="{TemplateBinding Padding}" />
            <!-- Code -->
        </ControlTemplate>
    </UserControl.Template>

    <!-- Content -->
</UserControl>
于 2012-09-30T17:03:28.360 に答える