2017-03-12 1 views
0

これはおそらくあなたのほとんどにとって非常に簡単です。私はXAMLとWPFが初めてです。 私はATTフルスクリーンをstartesアプリを持って、私は単純にこの部分を排除し、ボタンを持ちたいxamlのフルスクリーンを動的に削除する

WindowState="Maximized" 
    WindowStyle="None" 

を追加することによって、これをしませんでした。 xamlに「フルスクリーン」ボタンがあり、クリックするとコード内で「FullScreen_Click」関数が呼び出されます。 フルスクリーンモードではフルスクリーンを消去し、フルスクリーンモードでない場合はフルスクリーンに復元するコードに何を書き込むかを知る必要があります。

private void FullScreen_Click(object sender, RoutedEventArgs e) 
{ 
    WindowState = WindowState == WindowState.Maximized ? WindowState.Normal : WindowState.Maximized; 
} 

これはWindowState.MaximizedWindowState.NormalButtonがクリックされるたびに切り替わります:

答えて

3

が、これは試してみてください。

1

比較のxamlの例を参照するためだけのxamlの手法(ただし、@ mm8のルートを使用する方が簡単です)。

<Window WindowState="{Binding Tag, ElementName=toggleState}" .... />

2. Use a `ToggleButton` or similar control and `Triggers` 

1. Bind your property to that of another like: 

<!-- like this PoC --> 
    <Grid> 
     <Grid.Resources> 
      <Style x:Key="cwWindowState_PoC" TargetType="{x:Type ToggleButton}"> 
       <Setter Property="Tag" Value="Maximized"/> 
       <Setter Property="Template"> 
        <Setter.Value> 
         <ControlTemplate TargetType="ToggleButton"> 
          <Grid> 
           <Border Background="{TemplateBinding Background}"/> 
           <ContentPresenter x:Name="MyContentPresenter" 
                Content="{TemplateBinding Tag}" 
                HorizontalAlignment="Center" 
                VerticalAlignment="Center" /> 

          </Grid> 
          <ControlTemplate.Triggers> 
           <Trigger Property="IsChecked" Value="True"> 
            <Setter Property="Tag" Value="Normal" /> 
           </Trigger> 
           <Trigger Property="IsChecked" Value="False"> 
            <Setter Property="Tag" Value="Maximized" /> 
           </Trigger> 
          </ControlTemplate.Triggers> 
         </ControlTemplate> 
        </Setter.Value> 
       </Setter> 
      </Style> 
     </Grid.Resources> 

      <ToggleButton x:Name="toggleState" Content="Click Me" 
          Background="Green" 
          Style="{StaticResource cwWindowState_PoC}"/> 

    </Grid> 

DataTriggerを使用することもできますが、テンプレートのプロパティ設定ツールではなく、対話トリガが必要です。

関連する問題