WPF 버튼 이미지 '회색'?
콘텐츠로 개체 Button
를 포함하는 간단한 컨트롤이 있습니다 Image
. 상태에 대한 추가 시각적 신호를 제공하기 위해 비활성화 Image
될 때 불투명도를 0.5로 설정하고 싶습니다 .Button
Button
XAML에서 그 결과를 달성하는 가장 간단한 방법은 무엇입니까? 당신의 도움을 주셔서 감사합니다.
이미지 스타일에서 트리거를 사용합니다. (버튼 스타일에 넣는 것이 더 자연 스럽지만 버튼 스타일은 성가신 기술적 인 이유로 이미지에 쉽게 영향을 줄 수 없습니다. 버튼의 ControlTemplate에서 수행 할 수 있지만 여기에서 원하는 것은 과잉입니다.)
<Button>
<Image Source="something.png">
<Image.Style>
<Style TargetType="Image">
<Style.Triggers>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Opacity" Value="0.5" />
</Trigger>
</Style.Triggers>
</Style>
</Image.Style>
</Image>
</Button>
여기서는 Button이 비활성화되면 Image가 비활성화된다는 사실을 활용하고 있으므로 Image의 자체 IsEnabled 속성에서 직접 트리거 할 수 있습니다. 다른 경우에는 트리거하려는 Button 속성이 Image에 상속되지 않을 수 있습니다. 이 경우 포함하는 단추에 바인딩하려면 FindAncestor RelativeSource와 함께 DataTrigger를 사용해야합니다.
좀 더 일반적인 것을 원하면 창 또는 UserControl의 리소스 섹션에 넣으십시오.
<UserControl.Resources>
<Style x:Key="ImageEnabled" TargetType="Image">
<Style.Triggers>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Opacity" Value="0.25"></Setter>
</Trigger>
</Style.Triggers>
</Style>
</UserControl.Resources>
그리고 실제 버튼에서 이렇게
<Button>
<Image Source="{StaticResource LinkImage}" Style="{StaticResource ImageEnabled}"/>
</Button>
적용 할 수있는보다 일반적인 스타일은 다음과 같습니다.
<Style TargetType="Button">
<Style.Resources>
<Style TargetType="Image">
<Style.Triggers>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Opacity" Value="0.5" />
</Trigger>
</Style.Triggers>
</Style>
</Style.Resources>
</Style>
전체 버튼을 회색으로 표시하려면 버튼 자체의 스타일을 지정하는 것이 좋습니다. 모든 버튼 콘텐츠가 회색으로 표시됩니다.
<Button.Style>
<Style TargetType="Button">
<Style.Triggers>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Opacity" Value=".75"/>
</Trigger>
</Style.Triggers>
</Style>
</Button.Style>
참고 URL : https://stackoverflow.com/questions/2530912/graying-out-a-wpf-button-image
'Nice programing' 카테고리의 다른 글
Python의 matplotlib에서 경험적 cdf를 그리는 방법은 무엇입니까? (0) | 2020.12.09 |
---|---|
com.android.builder.model.AndroidProject 인터페이스의 클래스 경로를 확인할 수 없습니다. (0) | 2020.12.09 |
ASP.NET Identity UserName 및 Password 오류 메시지를 지역화하는 방법은 무엇입니까? (0) | 2020.12.09 |
Instruments로 iPhone 응용 프로그램을 프로파일 링 할 때 기호 이름 누락 (0) | 2020.12.09 |
하나의 팝 오버를 표시하고 다른 팝 오버를 숨 깁니다. (0) | 2020.12.09 |