2011-08-30 1 views
0

:이 컴파일러 오류가 발생문제 나 테두리에 개별 코너 반경을 수정하려면 DataTrigger에서 세터를 사용하려고의 ControlTemplate의 참고 자료 섹션에서

<Style x:Key="SectionBorder" TargetType="{x:Type Border}" > 
    <Setter Property="CornerRadius" Value="5" /> 
    <Style.Triggers> 
     <DataTrigger Binding="{Binding HasChildSection, RelativeSource={RelativeSource TemplatedParent}}" Value="True"> 
      <Setter Property="(Border.CornerRadius).(CornerRadius.BottomLeft)" Value="0" /> 
      <Setter Property="(Border.CornerRadius).(CornerRadius.BottomRight)" Value="0" />          
     </DataTrigger> 
    </Style.Triggers> 
</Style> 

:

"스타일 속성 'BottomLeft를 확인할 수 없습니다.'소유 유형이 스타일의 TargetType인지 확인하거나 Class.Property 구문을 사용하여 속성을 지정하십시오."

CornerRadius가 속성 이름과 형식 이름이기 때문에 WPF가 혼란 스럽습니까? 아니면 "Class.Property 구문"을 제대로 사용하지 않습니까? Property에 "CornerRadius.BottomLeft"를 그냥 사용하면 런타임에 속성을 null로 설정할 수 없다는 XamlParseException이 발생합니다.

답변

1

이것은 설정자가 작동하는 방식이 아니기 때문에 cannot set properties of properties 일 경우에만 CornerRadius을 새 것으로 바꿀 수 있습니다.

Property하나의 속성은 속성 경로가 아닙니다.

+0

좋습니다, Setters에는이 제한이 있다는 것을 알지 못했습니다. TargetProperty가 경로가 될 수있는 애니메이션과 동일해야한다고 생각했습니다. 나는 세터를 CornerRadius에 직접 놓을 수 있는지 알아볼 것입니다. – NPVN

관련 문제