2016-03-30 5 views
1

私はカスタムウィンドウクロムを実装しようとしています。 Miscrosoft.Windows.Shell名前空間を使用しています。タイトルバーにボタンを置くと、イベントにはわかりません。デフォルトのボタンは明るい青色の背景を持つ必要があります。マウスの上にマウスを置くと、この効果はありません。タイトルバーの中にいない別のボタンは、イベントを正しく起動します。 Custom windowウィンドウタイトルバーのボタン

<Window x:Class="WpfApplication2.MainWindow" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:shell="http://schemas.microsoft.com/winfx/2006/xaml/presentation/shell" 
    Title="MainWindow" Height="600" Width="800" Background="#2D2D30" Name="MyWindow" 
    WindowStartupLocation="CenterScreen" AllowsTransparency="True" WindowStyle="None"> 
<Window.Style> 
    <Style TargetType="Window"> 
     <Setter Property="shell:WindowChrome.WindowChrome"> 
      <Setter.Value> 
       <shell:WindowChrome CaptionHeight="25" GlassFrameThickness="0" 
         CornerRadius="0" ResizeBorderThickness="7"/> 
      </Setter.Value> 
     </Setter> 
     <Style.Triggers> 
      <Trigger Property="WindowState" Value="Maximized"> 
       <Setter Property="shell:WindowChrome.WindowChrome"> 
        <Setter.Value> 
         <shell:WindowChrome CaptionHeight="32" GlassFrameThickness="0" 
         CornerRadius="0" ResizeBorderThickness="7"/> 
        </Setter.Value> 
       </Setter> 
      </Trigger> 
     </Style.Triggers> 
    </Style> 
</Window.Style> 
<Grid> 
    <Grid.Style> 
     <Style TargetType="Grid"> 
      <Setter Property="Margin" Value="7,0,7,7"/> 
      <Style.Triggers> 
       <DataTrigger Binding="{Binding ElementName=MyWindow, Path=WindowState}" Value="Maximized"> 
        <Setter Property="Margin" Value="7,7,7,7"/> 
       </DataTrigger> 
      </Style.Triggers> 
     </Style> 
    </Grid.Style> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="auto"/> 
     <RowDefinition Height="*"/> 
    </Grid.RowDefinitions> 
    <DockPanel LastChildFill="False" Grid.Row="0" Height="32"> 
     <Button DockPanel.Dock="Right" Width="32" Height="32"/> 
    </DockPanel> 
    <Border Background="#1E1E1E" Grid.Row="1"> 
     <Button Width="100" Height="100"/> 
    </Border> 
</Grid> 

答えて

0

あなたは "シェル:WindowChrome.IsHitTestVisibleInChrome" 添付プロパティを追加する必要があります=真を、これはあなたのバグを修正する必要があります。

関連する問題