如何在运行时wpf,windows中绑定特定样式的多边形点?

时间:2012-07-22 13:45:40

标签: c# wpf xaml

我有这个代码用于样式

<Window.Resources>
    <Style  x:Key="Mystyle" TargetType="Button">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type Button}">
                    <Grid >
                        <Polygon Name="poly"  Points="0,0 0,100 50,200"
                         Fill=" TemplateBinding Background}"                            
                        <ContentPresenter HorizontalAlignment="Center"
                                      VerticalAlignment="Center"/>
                    </Grid>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

</Window.Resources>
<Grid>
    <Button Name="b1" Style="{StaticResource Mystyle }"></Button>

</Grid>

我需要为样式标记中的多边形设置点而不是静态但是基于某些计算动态如何将点绑定到多边形。 例子我有这个

PointCollection pc=this.CalculatePolygonPoints(new Point(0,0), 100,Orientation.Flat);

如何将此pc绑定到我的多边形动态

1 个答案:

答案 0 :(得分:2)

为什么不创建新的依赖属性(类型为PointCollection?)并将Polygon的Points属性绑定到它?然后在需要时进行计算(@ code-behind),UI将自动理解。

这是一个例子(使用ObservableCollection); http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/1293d4cb-87b3-4cdc-97e3-ae2f41caf2d4/