2013-12-17 5 views
0

HighlightedBorderBrush라는 종속성 속성을 사용하여 UserControl을 만들었습니다. 이 잘 작동UserControl 종속성 속성에서 스타일을 어떻게 설정합니까?

<local:MyUserControl HighlightedBorderBrush="Red" /> 

: 내가 UserControl을을 사용하는 코드에서

public static readonly DependencyProperty HighlightedBorderBrushProperty = 
    DependencyProperty.Register("Highlighted_BorderBrush", typeof(Brush), 
           typeof(MyUserControl), 
           new FrameworkPropertyMetadata(Brushes.Black)); 

    public Brush HighlightedBorderBrush 
    { 
     get { return (Brush)GetValue(HighlightedBorderBrushProperty); } 
     set {SetValue(HighlightedBorderBrushProperty, value); } 
    } 

다음과 같이 내가 XAML에서 직접 HighlightedBorderBrush 속성을 설정할 수 있어요 다음과 같이 나는 종속성 속성을 등록했다. 그러나 스타일을 사용할 때 오류가 발생합니다. "호출 대상에 의해 예외가 발생했습니다." 내가 뭔가를 분명 잃었지만 알아낼 수 없습니다 같은데요

<!-- Define a style for the user control --> 
    <Window.Resources> 
     <Style x:Key="UserControlStyle" TargetType="{x:Type local:MyUserControl}"> 
      <Setter Property="HighlightedBorderBrush" Value="Red"/> 
     </Style 
    </Window.Resources> 

    . 
    . 
    . 

    <!-- Use a Style to set the HighlightedBorderBrush property --> 
    <local:MyUserControl Style="{StaticResource UserControlStyle}" /> 

: 여기

내가 스타일을 사용하려고 시도하는 코드입니다. 도움!

+2

DP 등록의 속성 이름은 'Highlighted_BorderBrush' 대신'HighlightedBorderBrush' 여야합니다. 그 오타예요? –

+0

또한 오류를보다 명확하게 보여주는 내부 예외를 게시합니다. –

+0

고마워요, 로힛! 내가 말했듯이, 나는 명백한 무엇인가를 아마도 잃어 버렸고 나는 존재했다! 그것은 실제로 내 코드의 오타였습니다. "Highlighted_BorderBrush"는 "HighlightedBorderBrush"였고 오타를 수정했을 때 코드가 정상적으로 작동했습니다. 다시 감사합니다! – PeterBuilt

답변

0

DependencyProperty 등록에서 언급 한대로 속성 이름이 잘못되었습니다.

DP 등록의 속성 이름은 Highlighted_BorderBrush 대신 HighlightedBorderBrush이어야합니다.

+1

네, 고마워요! 도와 줘서 고마워! – PeterBuilt

+0

환영 피터. 질문을 받아들이도록 수락하십시오. –

관련 문제