我目前第一次使用Winui-3和Windows,因为我通常用经典的Win32 C++编写应用程序。我的应用程序有一个高标题栏(48 to ),我希望标题按钮的大小适当。我已经尝试过使用Microsoft文档中的方法,但这会导致CS0120:AppWindowTitleBar.PreferredHeightOption = TitleBarHeightOption.Tall;。
我还没有在网上找到任何解决这个确切问题的方法。把它应用到静态方法中是行不通的。在实验中,我发现像AppWindowTitleBar.ForegroundColor = Colors.White;这样的其他自定义也不起作用。我很困惑。
编辑:添加标题栏的实现
public ShellPage(ShellViewModel viewModel)
{
ViewModel = viewModel;
InitializeComponent();
ViewModel.NavigationService.Frame = NavigationFrame;
ViewModel.NavigationViewService.Initialize(NavigationViewControl);
AppWindowTitleBar.PreferredHeightOption = TitleBarHeightOption.Tall;
App.MainWindow.ExtendsContentIntoTitleBar = true;
App.MainWindow.SetTitleBar(AppTitleBar);
App.MainWindow.Activated += MainWindow_Activated;
AppTitleBarText.Text = "AppDisplayName".GetLocalized();
}发布于 2022-08-18 01:44:47
AppWindowTitleBar没有PreferredHeightOption。这就是为什么你要得到CS0120。
尝尝这个。
public ShellPage(ShellViewModel viewModel)
{
ViewModel = viewModel;
InitializeComponent();
ViewModel.NavigationService.Frame = NavigationFrame;
ViewModel.NavigationViewService.Initialize(NavigationViewControl);
//AppWindowTitleBar.PreferredHeightOption = TitleBarHeightOption.Tall;
App.MainWindow.ExtendsContentIntoTitleBar = true; // not sure if you need this line.
this.appWindow = GetAppWindowForCurrentWindow();
this.appWindow.TitleBar.ExtendsContentIntoTitleBar = true;
this.appWindow.TitleBar.PreferredHeightOption = TitleBarHeightOption.Tall;
App.MainWindow.SetTitleBar(AppTitleBar);
App.MainWindow.Activated += MainWindow_Activated;
AppTitleBarText.Text = "AppDisplayName".GetLocalized();
}
private AppWindow appWindow;
private AppWindow GetAppWindowForCurrentWindow()
{
IntPtr hWnd = WindowNative.GetWindowHandle(App.MainWindow);
WindowId wndId = Microsoft.UI.Win32Interop.GetWindowIdFromWindow(hWnd);
return AppWindow.GetFromWindowId(wndId);
}https://stackoverflow.com/questions/73395825
复制相似问题