我已经在WPF中创建了一个从Button类实现的CustomControl。
public class ImageButton : Button
{
...
public int ImageHeight
{
get { return (int)GetValue(ImageHeightProperty); }
set { SetValue(ImageHeightProperty, value); }
}
public static readonly DependencyProperty ImageHeightProperty =
DependencyProperty.Register("ImageHeight", typeof(int), typeof(ImageButton), new UIPropertyMetadata(32));
...
}
我有这样的资源模板:
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type custom:ImageButton}">
<Border>
<StackPanel>
<Image Name="image" Height="{TemplateBinding ImageHeight}"/>
<TextBlock Text="{TemplateBinding Text}" />
</StackPanel>
</Border>
<ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
ImageHeight dependecy属性不绑定。 当我像下面这样写作时它会成功。
Height="32"
这有什么问题?
答案 0 :(得分:1)
您是否尝试使用{Binding RelativeSource={RelativeSource TemplatedParent}, Path=Progress}
?
有关详细信息,请参阅这些答案......
WPF TemplateBinding vs RelativeSource TemplatedParent
Binding custom dependency property to custom WPF style
希望这会有所帮助