将CornerRadius绑定到依赖属性

时间:2014-01-29 18:34:15

标签: c# wpf xaml binding cornerradius

我想绑定CornerRadius值。

CornerRadius="{Binding CornerRadiusInfoBtn}" 

这是TitleBar中的代码。

这是我的财产。

        public CornerRadius CornerRadiusInfoBtn
    {
        get { return (CornerRadius)GetValue(CornerRadiusInfoBtnProperty); }
        set { SetValue(CornerRadiusInfoBtnProperty, value); }
    }

    // Using a DependencyProperty as the backing store for CornerRadiusInfoBtn.  This enables animation, styling, binding, etc...
    public static readonly DependencyProperty CornerRadiusInfoBtnProperty =
        DependencyProperty.Register("CornerRadiusInfoBtn", typeof(CornerRadius), typeof(TitleBar), new PropertyMetadata(new CornerRadius(0.0,0.0,2.0,2.0)));

但是没有圆角。怎么了?

1 个答案:

答案 0 :(得分:0)

如果您在DependencyProperty文件中声明了TitleBar.xaml.cs,则您的TitleBar.xaml文件应包含Border声明如下:

<Border CornerRadius="{Binding CornerRadiusInfoBtn, RelativeSource={RelativeSource  
    AncestorType={x:Type YourXmlNamespacePrefix:TitleBar}}, Mode=OneWay}}" ... />

您需要将DataContext属性设置为自身(除了快速演示之外不建议使用),或使用上述RelativeSource Binding来查找属性。