前提・実現したいこと
ここに質問の内容を詳しく書いてください。
C#とWPFでメモ帳を作っています。
Window Chromeを使ってタイトルバーを消して、ウィンドウの上部にメニューを配置すると
メニューを開くことができなくなってしまいました。
メニューを開けるようにするにはどうすればよいのでしょうか?
該当のソースコード
XAML
1<Window x:Class="ArCrowd_Code.EditorWindow" 2 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 3 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 4 xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 5 xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 6 xmlns:local="clr-namespace:ArCrowd_Code" 7 xmlns:System="clr-namespace:System;assembly=mscorlib" 8 mc:Ignorable="d" 9 Style="{DynamicResource DefaultWindowStyle}" 10 Title="EditorWindow" Height="750" Width="1280" WindowStyle="None" Background="#FF494949"> 11 <Window.Resources> 12 <System:Double x:Key="CaptionHeight">52</System:Double> 13 <Style TargetType="{x:Type Window}" x:Key="DefaultWindowStyle"> 14 <Setter Property="WindowChrome.WindowChrome"> 15 <Setter.Value> 16 <WindowChrome GlassFrameThickness="0" ResizeBorderThickness="5" UseAeroCaptionButtons="False" CaptionHeight="{DynamicResource CaptionHeight}" /> 17 </Setter.Value> 18 </Setter> 19 <Setter Property="SnapsToDevicePixels" Value="True"/> 20 <Setter Property="UseLayoutRounding" Value="True"/> 21 <Setter Property="Background" Value="#FF494949"/> 22 <!-- 背景の色:灰色 --> 23 <Setter Property="BorderBrush" Value="#FF14A9FF"/> 24 <!-- 枠線の色:青色 --> 25 <Setter Property="BorderThickness" Value="2.3"/> 26 <!-- 枠線 --> 27 <Setter Property="Foreground" Value="White"/> 28 </Style> 29 </Window.Resources> 30 <Border BorderBrush="#FF494949" BorderThickness="1"> 31 <Grid Margin="0,-15,0,720" RenderTransformOrigin="0.5,0.5"> 32 <Grid.RenderTransform> 33 <TransformGroup> 34 <ScaleTransform ScaleY="1"/> 35 <SkewTransform/> 36 <RotateTransform/> 37 <TranslateTransform/> 38 </TransformGroup> 39 </Grid.RenderTransform> 40 <Menu Margin="0,15,0,0" Background="#FF494949"> 41 <MenuItem Header="ファイル(_F)" Height="26" Foreground="White"> 42 <MenuItem Header="新規(_N)"></MenuItem> 43 <MenuItem Header="開く(_O)"></MenuItem> 44 </MenuItem> 45 <MenuItem Header="編集(_E)" Foreground="White"></MenuItem> 46 </Menu> 47 48 </Grid> 49 </Border> 50</Window>
C#
1using System; 2using System.Collections.Generic; 3using System.Linq; 4using System.Text; 5using System.Threading.Tasks; 6using System.Windows; 7using System.Windows.Controls; 8using System.Windows.Data; 9using System.Windows.Documents; 10using System.Windows.Input; 11using System.Windows.Media; 12using System.Windows.Media.Imaging; 13using System.Windows.Shapes; 14 15namespace ArCrowd_Code 16{ 17 /// <summary> 18 /// EditorWindow.xaml の相互作用ロジック 19 /// </summary> 20 public partial class EditorWindow : Window 21 { 22 public EditorWindow() 23 { 24 InitializeComponent(); 25 } 26 } 27} 28
試したこと
Window Chromeではもともとのタイトルバーは書き換えずにアプリケーションのUIのの範囲をタイトルバーまで拡張していて
実際にそこにデフォルトのタイトルバーがあるというのは分かったのですが、そのせいで上部にあるメニューを開くことができないのでしょうか?(下部や中央では開くことができた)また、メニューを開けるようにするにはどうすればよいのでしょうか?
補足情報(FW/ツールのバージョンなど)
Microsoft Visual Studio Community 2022 RC (64 ビット)
Version 17.0.0 RC3
.NET Core 6.0(.NET 6.0)
言語:C#
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2021/10/30 22:28