2017-11-30 10 views
0

私が何かを見逃してしまった場合にはお詫び申し上げます。私はこれに新しいです、私のコード(Jr Developer in making)の状態。私はリソース辞書に次のようなスタイルを作成しようとしています: すべてのボタンに適用できること。 白いアイコンpngから青色のアイコンpngに変更します。 これは理想的にはリソースディクショナリで行われますが、他の方法では開きます。ボタンボタンのイメージを変更するためのマウスオーバーWPF

任意の助けいただければ幸いです:)ここ

は私app.xamlコードです。

  <Style x:Key="SideMenuButton" TargetType="{x:Type Button}"> 
      <Setter Property="Background" Value="{StaticResource bmBlue}" /> 
      <Setter Property="BorderBrush" Value="White"/> 
      <Setter Property="Foreground" Value="White"/> 
      <Setter Property="FontFamily" Value="Cairo"/> 
      <Setter Property="FontSize" Value="14"/> 
      <Setter Property="Padding" Value="5"/> 
      <Setter Property="Margin" Value="10 20 10 0" /> 
      <Setter Property="VerticalContentAlignment" Value="Center" /> 
      <Setter Property="Template"> 
       <Setter.Value> 
        <ControlTemplate TargetType="Button"> 
         <Border CornerRadius="5" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="1" Background="{TemplateBinding Background}" > 
          <StackPanel Orientation="Horizontal"> 
           <Image x:Name="image1" Visibility="Visible" MaxHeight="25" HorizontalAlignment="Center" RenderOptions.BitmapScalingMode="HighQuality" Source="C:\Users\PaulR\source\repos\eSuiteVer10\eSuiteVer10\Icons\BackIconBWblue.png"/> 
           <ContentPresenter Grid.Column="1" x:Name="contentPresenter" ContentTemplate="{TemplateBinding ContentTemplate}" Content="{TemplateBinding Content}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/> 
          </StackPanel> 
         </Border> 
        </ControlTemplate> 
       </Setter.Value> 
      </Setter> 

      <Style.Triggers> 
       <Trigger Property="Button.IsMouseOver" Value="true"> 
        <Trigger.EnterActions> 
         <BeginStoryboard> 
          <Storyboard> 
           <ColorAnimation Duration="0:0:0.3" Storyboard.TargetProperty="BorderBrush.Color" To="#005389" /> 
           <ColorAnimation Duration="0:0:0.3" Storyboard.TargetProperty="Background.Color" To="#fff"/> 
           <ColorAnimation Duration="0:0:0.3" Storyboard.TargetProperty="Foreground.Color" To="#005389" /> 
          </Storyboard> 
         </BeginStoryboard> 
        </Trigger.EnterActions> 
        <Trigger.ExitActions> 
         <BeginStoryboard> 
          <Storyboard> 
           <ColorAnimation Duration="0:0:0.3" Storyboard.TargetProperty="BorderBrush.Color" To="#fff" /> 
           <ColorAnimation Duration="0:0:0.3" Storyboard.TargetProperty="Background.Color" To="#005389"/> 
           <ColorAnimation Duration="0:0:0.3" Storyboard.TargetProperty="Foreground.Color" To="#fff" /> 
          </Storyboard> 
         </BeginStoryboard> 
        </Trigger.ExitActions> 

       </Trigger> 
      </Style.Triggers> 
     </Style> 

ここにボタンXamlがあります。

<Button Click="NewQuote_Click" Style="{StaticResource SideMenuButton}" > 
       <StackPanel Orientation="Horizontal"> 

        <Image Grid.Column="0" MaxHeight="25" HorizontalAlignment="Center" RenderOptions.BitmapScalingMode="HighQuality" Source="C:\Users\PaulR\source\repos\eSuiteVer10\eSuiteVer10\Icons\NewIconBlueWhitewhite.png"/> 
        <TextBlock Text="New" Grid.Column="1" HorizontalAlignment="Center" /> 
       </StackPanel> 
      </Button> 

答えて

0

これを試してみてください:

<Style x:Key="TransparentStyle" TargetType="{x:Type Button}"> 
    <Setter Property="Template"> 
     <Setter.Value> 
      <ControlTemplate TargetType="Button"> 
       <Border> 
        <Border.Style> 
         <Style TargetType="{x:Type Border}"> 
          <Style.Triggers> 
           <Trigger Property="IsMouseOver" Value="True"> 
            <Setter Property="Background"> 
            <Setter.Value> 
             <ImageBrush ImageSource= "\Images\ButtonImages\Image.png" Stretch="Uniform"/> 
            </Setter.Value> 
            </Setter> 
           </Trigger> 
          </Style.Triggers> 
         </Style> 
        </Border.Style> 
        <Grid Background="Transparent"> 
         <ContentPresenter></ContentPresenter> 
        </Grid> 
       </Border> 
      </ControlTemplate> 
     </Setter.Value> 
    </Setter> 
</Style> 
関連する問題