0

有没有办法BorderGrid不包围元素Grid的情况下放置 a ?Border

<Border Margin="{Binding ElementName=thisUserControl, Path=PrintMargin}"
        BorderThickness="{Binding ElementName=thisUserControl, 
                             Path=PrintMarginThickness}"
        BorderBrush="LightGray">
    <Grid x:Name="mainGrid"
          Background="{Binding ElementName=thisUserControl, Path=Background}" />
</Border>

我可以在网格上使用像“BitmapEffect”这样的东西吗?我只需要在我的 WpfUserControl 上显示或不显示名为“PrintMargin”的边框...

这个边框应该或不可见,也许我需要控制它的厚度颜色(画笔)......

4

2 回答 2

2

做你提到的方式(网格周围的边框)没有任何问题,但如果你真的想要你可以添加Border作为你的最后一个元素Grid

<Grid>
    .. other elements ..
    <Border BorderBrush="DeepPink" BorderThickness="1" />
</Grid>
于 2012-11-02T15:01:22.050 回答
1

好吧,我Button几周前就这样做了,也许您可​​以将样本调整为Grid对照?

    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="Button">
                <Border Name="border" 
                        BorderThickness="{TemplateBinding BorderThickness}"
                        Padding="{TemplateBinding Padding}" 
                        BorderBrush="{TemplateBinding BorderBrush}" 
                        CornerRadius="5"
                        Margin="{TemplateBinding Margin}"
                        Background="{TemplateBinding Background}">
                    <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" />
                </Border>
            </ControlTemplate>
        </Setter.Value>
    </Setter>

编辑:我想您将不得不使用该Panel方法而不是ContentPresenter,不知道如何从那里开始,但希望这会有所帮助。

于 2012-11-02T15:58:16.853 回答