![](/img/trans.png)
[英]TemplateBinding to DependencyProperty on a custom control not working
[英]Custom control and TemplateBinding in WinRT
我正在嘗試創建一個顯示圓圈的簡單自定義控件。 此控件具有Radius屬性,但遺憾的是它不適用於該控件。 這是一個模板:
<Style TargetType="local:SizedCircle">
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="HorizontalAlignment" Value="Center" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="local:SizedCircle">
<Border
Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}">
<Ellipse Width="{TemplateBinding Radius}" Height="{TemplateBinding Radius}">
<Ellipse.Fill>
<SolidColorBrush Color="Red"/>
</Ellipse.Fill>
</Ellipse>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
和
namespace CustomControls
{
public sealed class SizedCircle : Control
{
public SizedCircle()
{
this.DefaultStyleKey = typeof(SizedCircle);
}
public string Radius
{
get { return (string)GetValue(RadiusProperty); }
set { SetValue(RadiusProperty, value); }
}
// Using a DependencyProperty as the backing store for Radius. This enables animation, styling, binding, etc...
public static readonly DependencyProperty RadiusProperty =
DependencyProperty.Register("Radius", typeof(string), typeof(SizedCircle), new PropertyMetadata(null));
}
}
然后我嘗試使用此控件:
<local:SizedCircle Radius="50" />
但我在屏幕上看不到任何內容。 此Radius屬性不適用。 我錯了什么?
嘗試將屬性類型更改為double而不是string。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.