WPF:管理ContentPresenter中所有控件的边距

4

是否可以定义ContentPresenter的“呈现行为”,以便它对其内容应用填充?

现在我有一个ContentPresenter,并在所有可能成为该ContentPresenter一部分的UserControl上定义Margin。

这样做的缺点是需要重复定义Margin,并且UserControl有点专门“适合”在ContentPresenter中使用。

例如包含内容Presenter的XAML:

    <ContentPresenter 
        x:Name="SettingsContentPanel" 
        Grid.Row="0" 
        Grid.Column="2" 
        Grid.ColumnSpan="2" 
        Content="{Binding ElementName=SettingsGroupSelector, Path=SelectedItem.Tag}" />

用户控件定义如下:

    <UserControl 
        <!-- left out irrelevant definitions -->
        Margin="5,5,5,5">

1
ContentPresenter上定义Margin会给你想要的结果吗? - Chris
哦,嗯...谢谢。 (将其作为答案提交,我会接受的,已经谢谢了!) - bas
好的,我会做的,虽然可能有些东西我错过了 =D - Chris
1个回答

3

你可以通过设置 ContentPresenter 元素的 Margin 属性来达到想要的效果,例如:

<ContentPresenter 
    x:Name="SettingsContentPanel" 
    Grid.Row="0" 
    Grid.Column="2" 
    Grid.ColumnSpan="2" 
    Content="{Binding ElementName=SettingsGroupSelector, Path=SelectedItem.Tag}" 
    Margin="5,5,5,5" />

此外,如果所有边缘的 Margin 都相同,您可以使用简写方式 Margin="5"。希望这有所帮助 =D。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接