0
我目前嘗試爲類似WPF的油漆應用程序創建類。我必須將類LineMovement(從StartPoint到EndPoint的線)和PathMovement(線經過屬性Points PointCollection中指定的所有點)。這些類從Control繼承,並通過ControlTemplate獲取它們的外觀。WPF ControlTemplate與foreach?
現在我想添加(我所說的)PointMover到ControlTemplate。這些應該是運動類中每個點上的小視覺元素。它們應該成爲一種抓住機制來拖動基本點。
問題當然是,我不知道在ControlTemplate中創建可變數量的元素的方法。這將是很酷,如果我能做這樣的事情:
<Style x:Key="{x:Type mov:PathMovement}" TargetType="{x:Type mov:PathMovement}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type mov:PathMovement}">
<Grid>
<Polyline Points="{TemplateBinding Points}" />
<!-- interesting part start -->
<foreach loopvariable="Point" in="{TemplateBinding Points}">
<PointMover Point="Point" />
</foreach>
<!-- interesting part end -->
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
這可能嗎?你腦海中有另一種方法可行嗎?
在此先感謝!
看起來不錯。我會試試這個。 但是,關於您對AdornerLayers的建議:我讀過沒有辦法在XAML中指定它們,所以我不會使用它(不要混合使用XAML和代碼,而不是完全需要)。 – chrischu 2009-08-24 14:27:12