2013-04-06 2 views
0

У меня есть код XAML следующим образом:изображения вопросы Кнопка стиля в XAML

<Button 
    x:Name="stopButton" 
    Click="Stop_Click" 
    IsEnabled="False" 
    HorizontalAlignment="Right" 
    Height="75" 
    Width="75" 
    Grid.Column="1" 
    Margin="0,15,60,0" 
    BorderBrush="{x:Null}" 
    Visibility="Collapsed" > 
    <Button.Background> 
     <ImageBrush ImageSource="Images/stop.png"/> 
    </Button.Background> 
</Button> 

С stop.png будучи following image

Кнопка включена во время события в приложении, и при нажатии на остановите воспроизведение мультимедиа. Когда кнопка нажата, она становится белой, как показано на следующем изображении: Comparison between normal, hover and pressed states

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

ответ

1

если эта кнопка находится в AppBar использования предопределенного стиля для кнопки Stop:

<Button Style="{StaticResource StopAppBarButtonStyle}" /> 

Вы просто должны раскоментировать в Common/StandardStyles.xaml (этот файл включен в проект)

Если кнопка не в AppBar вы можете установить Segoe UI Symbol шрифт и код для остановки символа:

<Button FontFamily="Segoe UI Symbol" Content="&#xE1B5;"/> 

вы можете увидеть символы здесь:

http://blogs.msdn.com/b/mohamedg/archive/2012/10/12/useful-segoe-ui-symbols.aspx

+0

Спасибо за ответ. Кнопка не является частью AppBar, поэтому я не могу использовать стили AppBar. – ReignOfComputer

+0

затем просто установил контент и Symgo UI Symbol, я обновил ответ –

+0

Извините за то, что я не был чист, полностью проскользнул из виду - кнопка остановки, которую я использовал, является примером, потому что у меня есть еще несколько других изображений, которые не являются частью набора символов при условии, что я должен сделать это, как то, как я изначально разместил. Также потому, что кнопка остановки, на которую я искал, нуждалась в круге вокруг него, стиле «метро» и не была доступна в наборе символов. – ReignOfComputer

1

Вы должны создать свой стиль для своей кнопки. Задайте все визуальные состояния по своему усмотрению.

Button styles and templates

0

использовать визуальные состояния, чтобы изменить стиль кнопки

    <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Background" Storyboard.TargetName="btnEffect"> 
         <DiscreteObjectKeyFrame KeyTime="0" Value="Red" /> 
        </ObjectAnimationUsingKeyFrames> 
       </Storyboard> 
       </VisualState> 
       <VisualState x:Name="Pressed"> 
       <Storyboard> 

        <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Text" Storyboard.TargetName="BackgroundGlyph"> 
         <DiscreteObjectKeyFrame KeyTime="0" Value="&#xE19A;" /> 
        </ObjectAnimationUsingKeyFrames> 
       <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Background" Storyboard.TargetName="btnEffect"> 
         <DiscreteObjectKeyFrame KeyTime="0" Value="Black" /> 
        </ObjectAnimationUsingKeyFrames> 
       </Storyboard> 
       </VisualState> 
       <VisualState x:Name="Disabled"> 

       </VisualState> 
      </VisualStateGroup> 

      </VisualStateManager.VisualStateGroups> 


      <StackPanel Name="btnEffect" Opacity="1" Width="100" Height="100" Background="Gray" Canvas.ZIndex="100" > 
       <TextBlock x:Name="BackgroundGlyph" Text="&#xE0A8;" 
         FontFamily="Segoe UI Symbol" FontSize="53.333" Margin="-4,-19,0,0" 
         Foreground="White" 
         Canvas.ZIndex="150" 
      /> 

      </StackPanel> 

     </Grid> 
     </ControlTemplate> 
    </Setter.Value> 
    </Setter> 
</Style> 
Смежные вопросы