이 이미지 토글 부트톤을 벡터 토글 부트 턴으로 변환하는 방법은 무엇입니까?
-
19-09-2019 - |
문제
ISChecked에 따라 이미지 컨텐츠를 설정하는 ControlTemplates를 사용 하여이 토글 부튼을 구현했습니다. 이미지는 Photoshop에서 만들어졌지만 WPF 벡터로 원합니다.
버튼은 ischecked = false : false :
그리고 ischecked = true 일 때 나는 이미지를 다른 png로 바꿉니다.
Photoshop에서 버튼 이미지를 디자인했습니다. 그들은 다음과 같은 이미지 레이어를 가지고 있습니다.
- 반투명 모양 (가장자리 버튼의 두 둥근 모서리가있는 사각형)
- 디비전 라인을위한 반투명 라인
- 상
- 텍스트
- 유리 반사 효과에 대한 반투명 구배
나는 이것이 가장 유연한 디자인이 아니라는 것을 알고 있으며 벡터 형태로 동일한 버튼을 갖고 싶지만 어떻게 해야하는지 전혀 모른다.
버튼 중 하나의 XAML은 다음과 같습니다 (버튼을 구현하는 방법에 대한 다른 대안을 제안하십시오).
<ControlTemplate x:Key="ResetButtonTemplate" TargetType="{x:Type ToggleButton}">
<Image x:Name="ImageReset" Source="images\button_reset_gray.png"/>
<ControlTemplate.Triggers>
<Trigger Property="IsChecked" Value="False">
<Setter Property="Cursor" Value="Hand" />
</Trigger>
<Trigger Property="IsChecked" Value="True">
<Setter TargetName="ImageReset" Property="Source" Value="images\button_reset_red.png"/>
<Setter Property="IsEnabled" Value="False" />
<Setter Property="Cursor" Value="Arrow" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
<StackPanel Orientation="Horizontal" Margin="20">
<ToggleButton Name="buttonRun" Width="102" Height="102" Template="{StaticResource RunButtonTemplate}" Checked="buttonRun_Checked" />
<ToggleButton Name="buttonPause" Width="102" Height="102" Template="{StaticResource PauseButtonTemplate}" Checked="buttonPause_Checked" />
<ToggleButton Name="buttonReset" Width="102" Height="102" Template="{StaticResource ResetButtonTemplate}" Checked="buttonReset_Checked" />
</StackPanel>
해결책
Expression Studio를 살펴보십시오. 스위트의 일부 앱은 Photoshop 형식을 가져올 수 있습니다.
그러나 최악의 경우, 혼합에서 이러한 이미지를 수동으로 생성하는 것은 큰 문제가 아닙니다.
제휴하지 않습니다 StackOverflow