2016-07-20 2 views
0

내 프로젝트의 MainWindow에는 테두리가있는 많은 컨트롤이있어서 창에있는 모든 테두리에 적용 할 수있는 스타일을 Window.Resources에 만들었습니다. 그 안에 나는 그 마진을 5로 설정하고 예기치 않은 일이 일어났습니다.윈도우의 테두리에 예상치 못한 스타일 효과가 발생했습니다.

실제 창 테두리에 적용되어 내 창에 검은 색 윤곽선이 나타나는 것 같습니다.

이 작업을 테스트하기 위해 새 프로젝트를 만들고이 코드를 추가하여 동일한 결과를 얻었습니다. odder는 심지어 그것이 사용하는 마진 인 것처럼 보입니다. 테두리 두께 또는 색상이 아닙니다.

<Window.Resources> 
    <Style TargetType="{X:Type Border}"> 
     <Setter Property="BorderBrush" Value="Aqua"/> 
     <Setter Property="BorderThickness" Value="5"/> 
     <Setter Property="Margin" Value="5"/> 
    </Style> 
</Window.Resources> 

질문은이 경계선의 여백을 스타일을 극복하기 위해 어떻게 설정할 수 있습니까?

스타일에 키를 추가 할 수 있다는 것을 알고 있지만이 스타일을 사용하려면 모든 테두리를 편집해야합니다. 이 특정 테두리에 여백을 쉽게 설정할 수 없다는 것은 다소 잘못된 것 같습니다.

도움/안내에 감사드립니다.

P. 모든 오타 또는 서식 문제에 대해 사과하고 코딩 랩톱에서 인터넷 액세스 권한이없는 것으로 전화로이 모든 내용을 입력하십시오.

답변

1

내가 그것을 쉽게 고칠 수 있어야 알고

<Window 
    ... 
    > 
    <Grid x:Name="MainContainer"> 
     <Grid.Resources> 
      <Style TargetType="{x:Type Border}"> 
       <Setter Property="BorderBrush" Value="Aqua"/> 
       <Setter Property="BorderThickness" Value="5"/> 
       <Setter Property="Margin" Value="5"/> 
      </Style> 
     </Grid.Resources> 
     ... 
    </Grid> 
</Window> 
+0

MainContainer 자료에 창에서 스타일을 옮겨보십시오! 나는 그것이 어떤면에서 창 테두리에 어떻게 영향을 미치는지, 그리고 다른면에서는 그렇지 않은지를 여전히 매우 이상하게 여깁니다. – Notts90

+1

@Robert [Snoop] (https://snoopwpf.codeplex.com)을 사용하여 시각적 트리로 들어갈 수 있습니다. MainContainer에 BorderBrush와 BorderThickness가 ParentTemplate에 의해 설정된 Border wrapping을 해제합니다. 이것이 여백 만이 스타일에 영향을받는 이유입니다. – Funk

+0

잘 알고 있습니다. 감사합니다. – Notts90

관련 문제