2017-01-12 11 views
0

IこのようになりますApplication.Resourceからスタイルを持つ2つのボタンの形状を、実装しよう:オーバーライドApplication.Resourcesスタイル

<Style TargetType="Button"> 

     <Setter Property="Background" Value="Transparent"/> 
     <Setter Property="BorderThickness" Value="1"/> 
     <Setter Property="BorderBrush" Value="#00FFFFFF"/> 
     <Setter Property="Foreground" Value="WhiteSmoke"/> 
     <Setter Property="FontFamily" Value="Miryad Pro"/> 
     <Setter Property="FontWeight" Value="Bold"/> 
     <Setter Property="Template"> 

      <Setter.Value> 

       <ControlTemplate TargetType="Button"> 
        <Border x:Name="ButtonBorder" 
       CornerRadius="3" 
       BorderThickness="2" 
       Background="#33FFFFFF" 
       BorderBrush="#00FFFFFF" 
       RenderTransformOrigin="0.5,0.5"> 
         <Grid> 
          <Grid.RowDefinitions> 
           <RowDefinition Height="*"/> 
           <RowDefinition Height="1.7*"/> 
          </Grid.RowDefinitions> 
          <ContentPresenter x:Name="ButtonContentPresenter" 
          VerticalAlignment="Center" 
          HorizontalAlignment="Center" 
          Grid.RowSpan="2" /> 
         </Grid> 

        </Border> 

        <ControlTemplate.Triggers> 
         <Trigger Property="IsPressed" Value="True"> 
          <Setter Property="RenderTransform" TargetName="ButtonBorder"> 
           <Setter.Value> 
            <TransformGroup> 
             <ScaleTransform ScaleX="0.9" ScaleY="0.9"/> 
            </TransformGroup> 
           </Setter.Value> 
          </Setter> 
         </Trigger> 
        </ControlTemplate.Triggers> 


       </ControlTemplate> 
      </Setter.Value> 
     </Setter> 
    </Style> 

私は再しようとしているボタン図形には次のコードがあります

<Button x:Name="kontakInterface_btn" VerticalAlignment="Stretch" HorizontalAlignment="Right" Width="40" Height="90" Margin="0,20,0,200"  Click="kontakInterface_btn_Click"> 

      <Button.Background> 
       <VisualBrush> 
        <VisualBrush.Visual> 
         <Canvas> 
          <Path Opacity="0.3" Fill="#ffffffff" Data="F1 M 8.126,171.916 L 58.216,160.074 C 62.411,158.889 65.125,149.942 65.125,147.337 L 65.125,32.680 C 65.125,30.074 61.053,20.469 58.216,19.943 L 8.126,8.496"/> 
         </Canvas> 
        </VisualBrush.Visual> 
       </VisualBrush> 
      </Button.Background> 




      <Image Source="C:\Users\PID Projekt I5\Documents\Visual Studio 2015\Projects\ArduinoSMS_sender\ArduinoSMS_sender\Ikone\directory-icon.png"/> 

     </Button> 

再整形コードを機能させるためには、何を書き換えるか、変更/追加する必要がありますか? XAMLは本当に私のお尻の痛みです。

答えて

0

私は魔法のようにそれが仕事作っボタンにプロパティを追加しました:

Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}" 

私は、ボタンの背景を削除するには、このを使用していました。

0

私はあなたの問題を誤解しているかもしれませんが、あなたは、単にあなたのボタンにスタイルを適用したい場合、あなたはそれにX与える可能性があります。キー:

<Style x:Key="myButtonStyle" ... > 

を...と、適用するStaticResourceのマークアップ拡張機能を使用しますそのいずれかのボタン上:あなたがXを指定しない場合

<Button x:Name="kontakInterface_btn" Style="{StaticResource myButtonStyle}"> 

:キー、スタイルが自動的スタイルと同じスコープ内にあるすべてのボタン要素に適用されるべきです。 WPFでスタイリングとテンプレートがどのように機能するかについては、MSDNを参照してください。https://msdn.microsoft.com/en-us/library/ms745683(v=vs.110).aspx

関連する問題