bugfix> uwp > 投稿

アイコンの設定に無駄な時間を費やさないようにNavigationViewを構成する方法はありますか?

私が欲しいのは、一般的な箇条書きアイコンのあるスタートメニューのように開き、ウィンドウサイズに関係なくアイテムが選択されるとハンバーガーボタンに戻るまで閉じるハンバーガーボタンだけです。ナビゲーションメニューを横のアイコンのみのレールに変換したくない。

基本的に、ウィンドウサイズに関係なく、NavigationViewのDisplayModeをジャムして「最小」モードのままにする必要があります。最小モードは、「ハンバーガーボタンのみが固定されたままで、ペインが必要に応じて表示および非表示になる」と定義されています。 (https://docs.microsoft.com/en-us/uwp/api/windows.ui.xaml.controls.navigationviewdisplaymode)

(アイコンはどれもメニュー見出しまたはメニュー項目の「名詞と動詞」の組み合わせに適合しないという通常の問題です...アイコンはすべての動詞またはすべての名詞である傾向があり、「動詞と名詞の両方の微妙な組み合わせではありません「...したがって、ナビゲーションメニュー項目のアイコンを避ける必要があります...)

これを設定する方法はありますか?

<NavigationView 
 ???Set Property: Don't Open Icon-Only Rail Ever Regardless of Size???>
    <NavigationView.MenuItems>
       <NavigationViewItem Icon="SolidStar" Content="MenuItem1"/>
       <NavigationViewItem Icon="SolidStar" Content="MenuItem2"/>
       <NavigationViewItem Icon="SolidStar" Content="MenuItem3"/>
       <NavigationViewItem Icon="SolidStar" Content="MenuItem4"/>
       <NavigationViewItem Icon="SolidStar" Content="MenuItem5"/>
       <NavigationViewItem Icon="SolidStar" Content="MenuItem6"/>
    </NavigationView.MenuItems>
    <Frame Name="A1Frame" />
</NavigationView>

回答 2 件
  • これを試して、必要に応じて値を調整してください。

    <NavigationView CompactModeThresholdWidth="1920" ExpandedModeThresholdWidth="1920"/>
    
    

    詳細な説明はこちらにあります

  • アイコンで時間を無駄にしたくない人のために、代わりにアイコンとして「フォント文字」の概念を採用する代替案を提案します。次に、アイコンをキーボードショートカットとして再利用できます。 (おそらく、「Consolas」フォントに代わるものとして、各文字の周りに素敵な円を配置してボタンの外観を与える素敵なフォントがどこかにあるはずです。)例:

    <NavigationView>
    <NavigationvViewItem Tag="EvilPlan" Content="(E)dit Master Plan">
       <NavigationViewItem.Icon>
           <FontIcon FontFamily="Consolas" Glyph="E"/>
       </NavigationViewItem.Icon>
    </NavigationViewItem>
    <NavigationViewItem Tag="Coffee" Content="Make (C)offee">
       <NavigationViewiItem.Icon>
           <FontIcon FontFamily="Consolas" Glyph="C"/>
       </NavigationViewItem.Icon>
    </NavigationViewItem>
    <NavigationViewItem Tag="Nifty" Content="Do Something (N)ifty">
       <NavigationViewItem.Icon>
           <FontIcon FontFamily="Consolas" Glyph="N"/>
       </NavigationViewItem.Icon>
    </NavigationViewItem>
    
    <!-- Also Just Noticed that Microsoft Even let's you put 
           upto 3 letters in the Font Glyph -->
    <NavigationViewItem Tag="Nifty" Content="Make (S)ound">
       <NavigationViewItem.Icon>
           <FontIcon FontFamily="Consolas" FontSize= Glyph="BAM"/>
       </NavigationViewItem.Icon>
    </NavigationViewItem>
    
    </NavigationView>
    
    

あなたの答え