我正在使用Microsoft.Expression.Controls.Callout在Canvas
. 大多数时候它看起来很好,如下所示:
然而,当它被调整大小时,锚点(和部分投影)会以某种方式被切断:
我尝试设置不同的属性,例如SnapToDevicePixels
,UseLayoutRounding
等等,但到目前为止没有任何效果。
这是 XAML(标注对象用作命名控件的模板,该控件CalloutElement
继承自Control
:
<Style TargetType="{x:Type Editor:CalloutElement}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Editor:CalloutElement}">
<ed:Callout CalloutStyle="RoundedRectangle" Fill="#FFF"
StrokeThickness="2"
AnchorPoint="0.5 1.4">
<ed:Callout.Effect>
<DropShadowEffect BlurRadius="10" Opacity="0.5"/>
</ed:Callout.Effect>
<ed:Callout.Stroke>
<SolidColorBrush Color="Red" />
</ed:Callout.Stroke>
</ed:Callout>
<!-- More XAML for resize adorner -->
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
请注意,调整大小的装饰器似乎在拐角处显示椭圆形,从而允许调整标注的大小。装饰者的代码只改变了的Width
和Height
。CalloutElement
关于为什么会发生这种情况以及如何解决它的任何想法?任何帮助是极大的赞赏。