반응형
모든 컨트롤을 대상으로 하는 방법(WPF 스타일)
모든 요소에 적용되는 스타일을 지정할 수 있습니까?나는 노력했다.
<Style TargetType="Control">
<Setter Property="Margin" Value="0,5" />
</Style>
하지만 아무 것도 하지 않았습니다.
그Style
당신이 만든 것은 단지 목표일 뿐입니다.Control
에서 파생되는 요소가 아닙니다.Control
설정하지 않은 경우x:Key
암묵적으로 설정되어 있습니다.TargetType
그래서 당신의 경우에는x:Key="{x:Type Control}"
.
다음을 지정할 수 있는 직접적인 방법은 없습니다.Style
그것은 에서 파생되는 모든 요소를 대상으로 합니다.TargetType
의Style
다른 옵션이 있습니다.
다음이 있는 경우Style
<Style x:Key="ControlBaseStyle" TargetType="{x:Type Control}">
<Setter Property="Margin" Value="50" />
</Style>
모두 대상으로 지정할 수 있습니다.Buttons
예를들면
<Style TargetType="{x:Type Button}" BasedOn="{StaticResource ControlBaseStyle}"/>
또는 모든 요소에 스타일을 직접 사용합니다. 예).Button
<Button Style="{StaticResource ControlBaseStyle}" ...>
Fredrik Hedblad가 대답했듯이 제어에서 상속된 모든 요소에 영향을 줄 수 있습니다.
그러나 예를 들어 같은 스타일의 텍스트 블록 및 단추에는 스타일을 적용할 수 없습니다.
실행 방법:
<Style x:Key="DefaultStyle" TargetType="{x:Type FrameworkElement}">
<Setter Property="Control.Margin" Value="50"/>
</Style>
<Style TargetType="TextBlock" BasedOn="{StaticResource DefaultStyle}"/>
<Style TargetType="Button" BasedOn="{StaticResource DefaultStyle}"/>
언급URL : https://stackoverflow.com/questions/4131034/how-to-target-all-controls-wpf-styles
반응형
'source' 카테고리의 다른 글
파일, 어셈블리 또는 종속성 중 하나를 로드할 수 없습니다. (0) | 2023.05.16 |
---|---|
기존 mongodb에서 단일 컬렉션 복원 (0) | 2023.05.16 |
.aspx vs.ashx 주 차이점 (0) | 2023.05.16 |
css 또는 jquery를 사용하여 포커스 시 자리 표시자 텍스트를 자동으로 숨기려면 어떻게 해야 합니까? (0) | 2023.05.16 |
RootView 컨트롤러 스위치 전환 애니메이션 (0) | 2023.05.16 |