2010-02-09 5 views
1

방금 ​​IsChecked에 따라 이미지 내용을 설정하는 ControlTemplates를 사용하여 이러한 ToggleButton을 구현했습니다. 이미지는 Photoshop에서 만들어 지지만 WPF 벡터로 이미지가 필요합니다.이러한 이미지 토글 버튼을 벡터 토글 버튼으로 변환하는 방법은 무엇입니까?

alt text http://i46.tinypic.com/2q3rsaw.jpg

과의 IsChecked = True로 난 그냥 다른 PNG로 이미지를 교체 할 때 :

있는 버튼의 IsChecked 때 =이 같은 거짓보고

alt text http://i50.tinypic.com/2lu868l.jpg

내가 설계 한 포토샵에서 버튼 이미지. 그들은 다음 이미지 레이어 가지고

  • 반투명 형상 분할 라인
  • 반투명 선 (에지 버튼 두 개의 둥근 모서리를 가진 사각형)
  • 아이콘
  • 텍스트
  • 반투명 그라데이션을 유리의 반사 효과

나는 이것이 가장 유연한 디자인 아니라고 인식하고 나는 쥐 것 그녀는 벡터 형태로 동일한 버튼을 가지고 있지만, 어떻게 해야할지 잘 모릅니다.

<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> 

답변

1

시도 익스프레션 스튜디오 보는 :

다음은 버튼 (뿐만 아니라 버튼을 구현하는 방법에 대한 다른 대안을 제시 주시기) 중 하나에서 XAML입니다. 이 제품군의 일부 응용 프로그램은 Photoshop 형식을 가져올 수 있습니다.

하지만 최악의 경우 Blend에서 이러한 이미지를 수동으로 만드는 것은 큰 문제가 아닙니다.