2014-01-29 4 views
0

Я хочу привязать значения 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))); 

Но там нет круглых углов. Что не так?

+0

Где круглые углы? Это внутри класса CornerRadius? –

+0

Вы настраиваете контекст данных на экземпляр 'TitleBar'? – PoweredByOrange

+0

Когда я устанавливаю значение выше 0, углы округляются. – user3197157

ответ

0

Если вы объявили ваш DependencyProperty в файле TitleBar.xaml.cs, то файл TitleBar.xaml должен содержать Border объявлен как это:

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

Вам необходимо либо установить DataContext свойство само по себе (что не рекомендуется, за исключением быстрые демонстрации) или используйте RelativeSource Binding, например, выше, чтобы найти свойство.

Смежные вопросы