Я использую Microsoft.Expression.Controls.Callout , чтобы нарисовать объект выноски на Canvas
.Большую часть времени он выглядит нормально, как показано ниже:
![Normal](https://i.stack.imgur.com/L2QGb.png)
Однако при изменении размера точка привязки (и часть тени) как-то обрезается:
![Cutoff](https://i.stack.imgur.com/7tcx6.png)
Я пытался установить различные свойства, такие как 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>
Обратите внимание, что средство изменения размера, по-видимому, отображает овалы по углам, позволяя изменить размер выноски.adorner меняет только Width
и Height
из CalloutElement
.
Любая идея о том, почему это происходит и как это исправить? Любая помощь с благодарностью.