1
我有一個包含路徑(除了其他控件)的控件模板。調整控件大小時應調整路徑大小。描述路徑的點和大小可以表示爲控制尺寸的相對分數。通過模板綁定更改路徑屬性
這裏是模板的摘錄:
<Path Stroke="Gray" StrokeThickness="5">
<Path.Data>
<PathGeometry>
<PathFigure StartPoint="{TemplateBinding Start}" >
<ArcSegment Point="{TemplateBinding End}" Size="{TemplateBinding Size}" RotationAngle="0" IsLargeArc="True" />
</PathFigure>
</PathGeometry>
</Path.Data>
</Path>
開始和結束的類型都是點DependencyProperties,大小類型大小的一個DependencyProperty。
什麼我目前做的是聽FrameworkElement.SizeChanged事件:
void OperationModeIndicator_SizeChanged(object sender, SizeChangedEventArgs e)
{
this.Size = new Size(e.NewSize.Width * 0.45f, e.NewSize.Height * 0.45f);
this.Start = new Point(e.NewSize.Width * 0.35f, e.NewSize.Height * 0.1f);
this.End = new Point(e.NewSize.Width * 0.65f, e.NewSize.Height * 0.1f);
}
現在的問題是: 是否有路徑的屬性綁定到的大小另一個(更優雅)的方式家長控制?