2010-02-09 4 views
1

Я только что реализовал эти ToggleButtons с помощью ControlTemplates, которые устанавливают содержимое изображения в соответствии с IsChecked. Изображения сделаны в Photoshop, но я хочу, чтобы они были векторами WPF.Как вы преобразовываете эти кнопки toggletons в векторные кнопки toggle?

Кнопки выглядят они при IsChecked = False:

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

И когда IsChecked = True Я просто заменить изображение с другим PNG:

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

Я разработал изображения кнопок в фотошопе. Они имеют следующие слои изображения:

  • Прозрачной форма (квадрат с двумя закругленными углами для кнопок края)
  • Полупрозрачные линии для разделительных линий
  • Иконки
  • Текст
  • прозрачного градиента для эффект рефлекторного стекла

Я признаю, что это не самый гибкий дизайн, и я был крыс у нее одинаковые кнопки в векторной форме, но я понятия не имею, как это сделать.

Вот 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> 

ответ

1

Попробуйте взглянуть на Expression Studio. Некоторые из приложений в пакете имеют возможность импортировать форматы photoshop.

Хотя, в худшем случае, вручную создавать такие изображения в Blend не имеет большого значения.

 Смежные вопросы

  • Нет связанных вопросов^_^