コンポーネントのラインナップ:なぜなら私{TemplateBinding率}にControlTemplateは証拠金の言要素の容器?

StackOverflow https://stackoverflow.com/questions/2006872

質問

って自分のControlTemplateのためのボタンのようになります:

<Style x:Key="LightButtonStyle" TargetType="{x:Type ButtonBase}">
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="{x:Type ButtonBase}">
                <Border
                    x:Name="WrappingBorder"
                    Margin="{TemplateBinding Margin}"
                    ...
                    >
                    <ContentPresenter 
                        Content="{TemplateBinding Content}" 
                        ...
                        >
                    </ContentPresenter>
                </Border>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>

今では、この時の設定に余裕のある私のボタンのように:

<Button 
    Style="{StaticResource LightButtonStyle}"
    Margin="20"
    >
    Hello world!
</Button>

ボタンが実際の倍率-40です。えられているの制御は、実際には、利用率は、Marginプロパティが読み込みボタンの祖先中配置。していたがそれらのコンポーネントのラインナップのデフォルトスタイルで、見るものを使用。

この右側の結論(証拠金の管理だけを正しく配置による容器)?言い換えると、時間を使ってい{TemplateBinding率は}私のスタイルかダブルのマージンょうか? やはり一部のリストとしての類似性が私の制御な利用いただける"周辺世界"のみ)?

いきもMSDNのページで説明する。感謝です。

編集:

といったところかの答えを探る http://msdn.microsoft.com/en-us/library/ms745058.aspxhttp://msdn.microsoft.com/en-us/library/ms751709.aspx, ものにならないと思って明示的にこの ない の管理者は、Marginプロパティである 常に 上位またはコンポーネントのラインナップシステム者evaluesで、その影響のレイアウト---

役に立ちましたか?

解決

ご結果は、見れば、枠組みを提供しデフォルトのテンプレートをきること Margin 内のテンプレートにバインドされ Padding 物件について調査を進めている。

他のヒント

証拠金の適用によって自動的にレイアウトシステム、制御テンプレートを使用できるパディングです。

<Border x:Name="WrappingBorder" Margin="{TemplateBinding Padding}" ... />
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top