2016-12-09 2 views
0

안녕하세요, 저는 WPF에서 기본 mouseover 이벤트를 재정의하려고합니다.스타일의 단추에 내용 추가

나는 그것을 해결하기 위해 관리 왔지만 지금은 어떤 텍스트 내용

스타일 세터 표시하는 문제 갖는

<Style x:Key="MyButton" TargetType="Button"> 
     <Setter Property="OverridesDefaultStyle" Value="True"/> 
     <Setter Property="Cursor" Value="Hand"/> 
     <Setter Property="Content" Value="Submit" /> 
     <Setter Property="Template"> 


      <Setter.Value> 
       <ControlTemplate TargetType="Button"> 
        <Border Name="Border" BorderThickness="0" BorderBrush="White" Background="#FF7AB800" Height="24" Margin="0,0,0.2,0" /> 



        <ControlTemplate.Triggers> 
         <Trigger Property="IsMouseOver" Value="True" > 

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

Heres는 내 버튼 코드 : 모든

<Button x:Name="submitBtn" HorizontalAlignment="Left" Margin="402,296,0,0" VerticalAlignment="Top" Width="75" Foreground="Black" FontFamily="Calibri Light" FontSize="16" Style="{StaticResource MyButton}" Content="Submit"/> 

답변

0

ContentPresenter이 누락되었습니다. 또한 스타일 값을 직접 설정하지 않는 것이 좋습니다. 당신은 컨트롤 자체 내에서 이것을 원할 것입니다.

<Style x:Key="MyButton" TargetType="Button"> 
    <Setter Property="OverridesDefaultStyle" Value="True"/> 
    <Setter Property="Cursor" Value="Hand"/> 
    <Setter Property="Template"> 
     <Setter.Value> 
      <ControlTemplate TargetType="Button"> 
       <Border Name="Border" 
         BorderThickness="0" 
         BorderBrush="White" 
         Background="#FF7AB800" 
         Height="24" 
         Margin="0,0,0.2,0"> 
        <ContentPresenter Margin="2" 
          HorizontalAlignment="Center" 
          VerticalAlignment="Center" 
          RecognizesAccessKey="True" 
          Content="{TemplateBinding Content}"/> 
       </Border> 
       <ControlTemplate.Triggers> 
        <Trigger Property="IsMouseOver" Value="True" > 

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

<Button x:Name="submitBtn" 
     HorizontalAlignment="Left" 
     Margin="402,296,0,0" 
     VerticalAlignment="Top" 
     Width="75" 
     Foreground="Black" 
     FontFamily="Calibri Light" 
     FontSize="16" 
     tyle="{StaticResource MyButton}" 
     Content="Submit"/> 
0

먼저 x를 입력해야합니다. type :

<Style x:Key="MyButton" TargetType="x:Type Button"> 
     <Setter Property="SnapsToDevicePixels" Value="True"/> 
     <Border Name="Border" BorderThickness="0" BorderBrush="White" Background="#FF7AB800" Height="24" Margin="0,0,0.2,0" /> 
      <ContentPresenter Content="{TemplateBinding Content}" HorizontalAlignment="Center" VerticalAlignment="Center" /> 
     </Border> 
       <ControlTemplate TargetType="x:Type Button"> 
관련 문제