2017-01-01 10 views
0

私はUWPの視覚状態マネージャーを勉強しています。私は、アプリケーションの最大化/最小化ボタンを押したときにトリガー/セッターに応答しないコードを持っています。私は手動でボックスのサイズを変更する場合、それは正常に応答します。視覚状態管理者が最大化/最小化ボタンに応答しない

最大化/最小化ボタンを押したときにトリガー/セッターに反応するコードの2番目のコードがあります。

両方のコードは私とかなり同じですが、私は何かが欠けているようです。あなたの援助ここ

のために事前にありがとう最大化/最小化ボタンに応答していないコードです:

<Grid Name="MyGrid" Background="White"> 

    <VisualStateManager.VisualStateGroups> 
     <VisualStateGroup x:Name="Groups"> 
      <VisualState x:Name="WindowsPhone"> 
       <VisualState.StateTriggers> 
        <AdaptiveTrigger MinWindowWidth="0"/> 
       </VisualState.StateTriggers> 
       <VisualState.Setters> 
        <Setter Target="MySplitView.DisplayMode" Value="Inline"/> 
        <Setter Target="HamburgerButton.Width" Value="100"/> 
        <Setter Target="MyGrid.Background" Value="LightBlue"/> 
        <Setter Target="AutoSuggestBox.Visibility" Value="Compact"/> 
       </VisualState.Setters> 
      </VisualState> 
      <VisualState x:Name="WindowsTablet"> 
       <VisualState.StateTriggers> 
        <AdaptiveTrigger MinWindowWidth="600"/> 
       </VisualState.StateTriggers> 
       <VisualState.Setters> 
        <Setter Target="MySplitView.DisplayMode" Value="Overlay"/> 
        <Setter Target="AutoSuggestBox.Visibility" Value="Visible"/> 
        <Setter Target="MyGrid.Background" Value="HotPink"/> 
       </VisualState.Setters> 
      </VisualState> 
      <VisualState x:Name="Desktop"> 
       <VisualState.StateTriggers> 
        <AdaptiveTrigger MinWindowWidth="800"/>       
       </VisualState.StateTriggers> 
       <VisualState.Setters>     
        <Setter Target="MyGrid.Background" Value="Orange"/> 
       </VisualState.Setters> 
      </VisualState> 
     </VisualStateGroup> 
    </VisualStateManager.VisualStateGroups> 



    <Grid.RowDefinitions> 
     <RowDefinition Height="Auto"/> 
     <RowDefinition Height="*"/> 
    </Grid.RowDefinitions> 


    <RelativePanel> 
     <Button Name="HamburgerButton" 
       Width="50" 
       Height="50" 
       Click="HamburgerButton_Click" 
       FontFamily="Segoe MDL2 Assets" 
       Content="&#xE700;" 
       RelativePanel.AlignLeftWithPanel="True"/> 

     <AutoSuggestBox Name="AutoSuggestBox" 
         QueryIcon="Find" 
         PlaceholderText="Search" 
         Width="200"         
         RelativePanel.AlignRightWithPanel="True" 
         Margin="0,10,0,0"/> 


    </RelativePanel> 

    <SplitView Grid.Row="1" 
       Name="MySplitView" 
       IsPaneOpen="False" 
       CompactPaneLength="50" 
       OpenPaneLength="200" 
       DisplayMode="CompactOverlay"> 


     <SplitView.Pane> 
      <ListBox Name="MylistBox" 
        SelectionMode="Single" 
        SelectionChanged="MylistBox_SelectionChanged"> 
       <ListBoxItem> 
        <StackPanel Orientation="Horizontal"> 
         <TextBlock Name="FirstIcon" 
            FontFamily="Segoe MDL2 Assets" 
            FontSize="30" 
            Text="&#xE80F;"/> 
         <TextBlock Name="TextTextBlock" 
            FontSize="20" 
            Text="Hello" 
            FontWeight="Bold" 
            Margin="20,0,0,0"/> 
        </StackPanel> 
       </ListBoxItem> 
       <ListBoxItem> 
        <StackPanel Orientation="Horizontal"> 
         <TextBlock Name="SecondIcon" 
            FontFamily="Segoe MDL2 Assets" 
            FontSize="30" 
            Text="&#xE80F;"/> 

         <TextBlock Name="SeconTextBlock" 
            FontFamily="20" 
            Text="Hello Again" 
            FontWeight="Bold" 
            Margin="20,0,0,0"/> 
        </StackPanel> 
       </ListBoxItem> 
      </ListBox> 
     </SplitView.Pane> 


    </SplitView> 

</Grid> 

そして、これがうまく動作するコードです:

<Grid Name="ColorGrid" Background="Pink"> 
    <VisualStateManager.VisualStateGroups> 
     <VisualStateGroup x:Name="VisualStateGroup"> 
      <VisualState x:Name="VisualStatePhone"> 
       <VisualState.StateTriggers> 
        <AdaptiveTrigger MinWindowWidth="0"/> 
       </VisualState.StateTriggers> 
       <VisualState.Setters> 
        <Setter Target="ColorGrid.Background" Value="Red"/> 
        <Setter Target="MessageTextBlock.FontSize" Value="18"/> 
       </VisualState.Setters> 
      </VisualState> 
      <VisualState x:Name="VisualStateTablet"> 
       <VisualState.StateTriggers> 
        <AdaptiveTrigger MinWindowWidth="600"/> 
       </VisualState.StateTriggers> 
       <VisualState.Setters> 
        <Setter Target="ColorGrid.Background" Value="Yellow"/> 
        <Setter Target="MessageTextBlock.FontSize" Value="40"/> 
       </VisualState.Setters> 
      </VisualState> 
      <VisualState x:Name="VisualStateDesktop"> 
       <VisualState.StateTriggers> 
        <AdaptiveTrigger MinWindowWidth="800"/> 
       </VisualState.StateTriggers> 
       <VisualState.Setters> 
        <Setter Target="ColorGrid.Background" Value="Blue"/> 
        <Setter Target="MessageTextBlock.FontSize" Value="60"/> 
       </VisualState.Setters> 
      </VisualState> 
     </VisualStateGroup> 
    </VisualStateManager.VisualStateGroups> 

    <TextBlock Name="MessageTextBlock" Text="Hello I am forgetting something"/> 

</Grid> 
+0

私は14393.にこのことについて奇妙なことは、これが唯一のデバッグセッション中に起こるように見えるということです空のプロジェクトでこれを再現することができました。デバッグせずに実行したり、[スタート]から起動すると、すべて正常に動作します。 – BoltClock

+0

@BoltClock hmmm。確かに奇妙な。私はあなたがデバッグせずに、または開始からテストしたようにテストし、正しく動作します。 奇妙な小さなバグ –

答えて

0

@ BoltClock私は別のプロジェクトを作成しましたが、これは最大化と最小化ボタンにうまく反応しますが、手動でサイズを変更すると「タブレット」状態には反応しません。

私はスタート画面から起動しても、すべて正常に動作します。

`

</VisualStateManager.VisualStateGroups> 

    <Grid.RowDefinitions> 
     <RowDefinition Height="Auto"/> 
     <RowDefinition Height="*"/> 
    </Grid.RowDefinitions> 



    <RelativePanel> 
     <Button Name="HamburgerButton" 
      Height="50" 
      Width="50" 
      FontFamily="Segoe MDL2 Assets" 
      Content="&#xE700;" 
      RelativePanel.AlignLeftWithPanel="True" 
      Click="HamburgerButton_Click_1"/> 

     <AutoSuggestBox Name="AutoSuggest" 
         Width="200" 
         QueryIcon="Find" 
         PlaceholderText="Search" 
         RelativePanel.AlignRightWithPanel="True" 
         Margin="0,10,0,0" 
         /> 

     <TextBlock Name="TitleTextBlock" 
        FontSize="30" 
        FontWeight="Bold" 
        RelativePanel.RightOf="HamburgerButton" 
        Text="Home"/> 
    </RelativePanel> 


    <SplitView Name="MySplitView" 
       Grid.Row="1" 
       OpenPaneLength="200" 
       CompactPaneLength="50" 
       DisplayMode="CompactOverlay"> 
     <SplitView.Pane> 
      <ListBox SelectionMode="Single" 
        SelectionChanged="ListBox_SelectionChanged" 
        > 
       <ListBoxItem> 
        <StackPanel Orientation="Horizontal"> 
         <TextBlock Name="FirstIcon" 
            FontFamily="Segoe MDL2 Assets" 
            FontSize="30" 
            Text="&#xE80F;"/> 
         <TextBlock Name="FirstText" 
            FontSize="20" 
            Text="Hello" 
            FontWeight="Bold" 
            Margin="10,0,0,0"/> 
        </StackPanel> 
       </ListBoxItem> 
       <StackPanel Orientation="Horizontal"> 
        <TextBlock Name="SecondIcon" 
           FontFamily="Segoe MDL2 Assets" 
           FontSize="30" 
           Text="&#xE80F;"/> 
        <TextBlock Name="SecondText" 
           FontSize="20" 
           Text="Hello Again" 
           FontWeight="Bold" 
           Margin="10,0,0,0"/> 

       </StackPanel> 
       <ListBoxItem> 
        <StackPanel> 
         <TextBlock/> 
         <TextBlock/> 
        </StackPanel> 
       </ListBoxItem> 

      </ListBox> 
     </SplitView.Pane> 

    </SplitView> 

</Grid>` 
関連する問題