将Shape属性和附加属性绑定到属性

时间:2009-09-16 03:02:53

标签: c# wpf xaml

我有一个属性:

public double S { get; set; }

......和XAML:

<Canvas Name="MainCanvas">
    <Ellipse Canvas.Left="10" Canvas.Top="10" Height="10" Name="ellipse1" Stroke="Black" Width="10"/>
</Canvas>

如何绑定Ellipse WidthHeight属性以及附加的Canvas.LeftTop属性,以便我可以将值设置为S的不同分数?

所以Canvas.Left和Top可以是1 / 2f * S,而宽度和高度可以是3/4。

1 个答案:

答案 0 :(得分:1)

在绑定中使用值转换器为您进行计算。

<Ellipse Canvas.Left="{Binding Path=S,Converter=LeftConverter}" ... />

在值转换器中,您将拥有:

public object Convert(object value, Type targetType, object paramenter, CultureInfo culture)
{
   double value = Double.Parse(value);
   return value * 0.5;
}

此代码未经测试但应该让您入门。 查看此示例here