有没有办法在Border
上放置Grid
,而不会将Grid
与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”的边框......
此边框应该是否可见,也许我需要控制其厚度,也许颜色(刷子)......
答案 0 :(得分:1)
按照你提到的方式(网格边框)看不出有什么问题,但如果你真的想要,你可以添加Border
作为Grid
中的最后一个元素:
<Grid>
.. other elements ..
<Border BorderBrush="DeepPink" BorderThickness="1" />
</Grid>
答案 1 :(得分: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
,不知道如何从那里开始,但希望这有点有帮助的。