我有一个属性:
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 Width
和Height
属性以及附加的Canvas.Left
和Top
属性,以便我可以将值设置为S的不同分数?
所以Canvas.Left和Top可以是1 / 2f * S,而宽度和高度可以是3/4。
答案 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