2012-03-01 10 views
0

IsCheckedがtrueに設定されているときにToggleButton.ContextMenuを開きます。私は以下のコードを書くIsCheckedプロパティが状態をTrueに変更したときにToggleButtonを開くContextMenu

は、しかしContextMenu.IsOpenは変更されません:これは役立つ

<ToggleButton x:Name="btnRegularButton"    
         Content="Regular Button"> 

      <ToggleButton.Style> 
       <Style TargetType="ToggleButton"> 
        <Style.Triggers> 

         <Trigger Property="IsChecked" Value="True"> 
          <Setter Property="ContextMenu.IsOpen" Value="True" /> 
         </Trigger> 

        </Style.Triggers> 
       </Style> 
      </ToggleButton.Style> 

      <ToggleButton.ContextMenu> 

       <ContextMenu>              
        <MenuItem Header="Save" /> 
        <MenuItem Header="Print" /> 
        <Separator /> 
        <MenuItem Header="Exit" /> 
       </ContextMenu> 
      </ToggleButton.ContextMenu> 

     </ToggleButton> 

答えて

0
<Window x:Class="Staticoverflow.MainWindow" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    Title="MainWindow" Height="350" Width="525"> 
<Window.Resources> 
    <ContextMenu x:Key="ContextMenu1"> 
     <MenuItem Header="Save" /> 
     <MenuItem Header="Print" /> 
     <Separator /> 
     <MenuItem Header="Exit" /> 
    </ContextMenu> 
</Window.Resources> 
<Grid> 
    <Grid.RowDefinitions > 
     <RowDefinition Height="Auto"/> 
     <RowDefinition Height="Auto"/> 
    </Grid.RowDefinitions> 
    <ToggleButton x:Name="btnRegularButton"    
        Content="Regular Button"> 

     <ToggleButton.Style> 
      <Style TargetType="ToggleButton"> 
       <Style.Triggers> 
        <Trigger Property="IsChecked" Value="True"> 
         <Setter Property="ContextMenu" Value="{StaticResource ContextMenu1}" /> 
        </Trigger> 
       </Style.Triggers> 
      </Style> 
     </ToggleButton.Style> 


    </ToggleButton> 

</Grid> 

希望。

+0

残念ながらこれは動作しません – f4x

+2

それは答えとしてマークされていますか? –

関連する問題