이 이미지 토글 부트톤을 벡터 토글 부트 턴으로 변환하는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/2227369

문제

ISChecked에 따라 이미지 컨텐츠를 설정하는 ControlTemplates를 사용 하여이 토글 부튼을 구현했습니다. 이미지는 Photoshop에서 만들어졌지만 WPF 벡터로 원합니다.

버튼은 ischecked = false : false :

alt text

그리고 ischecked = true 일 때 나는 이미지를 다른 png로 바꿉니다.

alt text

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 형식을 가져올 수 있습니다.

그러나 최악의 경우, 혼합에서 이러한 이미지를 수동으로 생성하는 것은 큰 문제가 아닙니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top