0
代码隐藏代码
有(在Silverlight 4应用程序),TextBlock的是“画布”的控制的内部显示的“CustomControl”的整型属性:的Silverlight:如何实现XAML
<Canvas Name="canvas" >
<Ellipse Fill="Yellow" Canvas.Top="8" Canvas.Left="8" Height="16" Width="16">
</Ellipse>
<TextBlock Name="TeamNumberTextBlock" Text="9" Canvas.Top="8" Canvas.Left="8" TextAlignment="Center" FontStyle="Italic" />
</Canvas>
作为文本可以改变它应该居中。这里是一个“代码隐藏的解决方案”:
public partial class FieldItem : UserControl
{
public FieldItem()
{
InitializeComponent();
}
public int TeamNumber
{
private get
{
return _iTeamNumber;
}
set
{
_iTeamNumber = value;
TeamNumberTextBlock.Text = _iTeamNumber.ToString();
TeamNumberTextBlock.SetValue(Canvas.LeftProperty, (TeamNumberTextBlock.Width - TeamNumberTextBlock.Width)/2);
}
}
private int _iTeamNumber;
}
当有人将设置一个新值控制,其“Canvas.Left”属性将被重新计算。
是否可以使用绑定(或任何其他可在设计模式下工作的机制)实现类似的功能?
谢谢!
有趣的解决方案,谢谢。 – Budda 2010-08-17 14:45:26