我有一個在我的應用程式的 MainPage.xaml 上有 TabView 的應用程式。我也有 ContentPage.xaml(請注意,它不是一個實際的 ContentPage,它只是我創建的一個空白頁面并將其命名為“ContentPage”),它只有一個元素 — RichEditBox。當我創建一個新選項卡時,我使用以下代碼:
private TabViewItem CreateNewTab(int index)
{
TabViewItem newItem = new TabViewItem();
newItem.Header = $"Untitled-{index}.txt";
newItem.IconSource = new Microsoft.UI.Xaml.Controls.SymbolIconSource() { Symbol = Symbol.Document };
// The content of the tab is often a frame that contains a page, though it could be any UIElement.
Frame frame = new Frame();
frame.Navigate(typeof(ContentPage));
newItem.Content = frame;
return newItem;
}
因此,如您所見,我想要做的是每次創建新選項卡時都會出現 RichEditBox,并且我希望能夠在每個選項卡上打開、保留和撰寫不同的文本。它作業得非常好,但我有一個問題:我無法將 RichEditBox 元素垂直拉伸到整頁。它水平填充頁面,但不垂直填充。 這就是它的樣子
我嘗試更改邊距引數,嘗試更改垂直和水平對齊,但沒有任何幫助獲得我想要的結果。我嘗試在 Google 上搜索有關此主題的一些資訊,但沒有找到任何解決方案。有人告訴我 MVVM 模式可能是我想要研究的,所以我也嘗試查找有關該主題的一些內容,但仍然無法完全理解它。如果這是非常簡單和基本的事情,我提前道歉,但我真的不知道如何解決這個問題。也許我的想法都錯了,實際上應該有一些更簡單的解決方案來解決這個問題。我對 XAML 和 UWP 很陌生,所以任何好的和簡單的解釋都會很棒。
ContentPage.xaml 代碼:
<Page
x:Class="TestApp.ContentPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:TestApp"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:control="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
mc:Ignorable="d"
Background="{ThemeResource AcrylicBackgroundFillColorDefaultBrush}">
<Grid>
<RichEditBox VerticalContentAlignment="Stretch" HorizontalContentAlignment="Stretch"/>
</Grid>
MainPage.xaml 代碼:
<Page
x:Class="TestApp.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:TestApp"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:muxc="using:Microsoft.UI.Xaml.Controls"
mc:Ignorable="d"
Background="{ThemeResource AcrylicBackgroundFillColorDefaultBrush}">
<Grid HorizontalAlignment="Stretch" VerticalAlignment="Top">
<Image Source="Assets/Square44x44Logo.png"
HorizontalAlignment="Left"
Width="20" Height="20" Margin="10,8,0,0" VerticalAlignment="Top"/>
<TextBlock x:Name="AppName" x:Uid="AppName" Text="TestApp"
Style="{StaticResource CaptionTextBlockStyle}"
Margin="44,8,44,896"/>
<muxc:MenuBar VerticalAlignment="Top" Margin="5,33,-5,0">
<muxc:MenuBarItem Title="Item1" x:Name="File" x:Uid="File">
<MenuFlyoutItem Text="Settings" Icon="Setting" x:Name="FileSettings" x:Uid="FileSettings" Click="MenuFlyoutItem_ClickSettings">
<MenuFlyoutItem.KeyboardAccelerators>
<KeyboardAccelerator Modifiers="Control" Key="I"/>
</MenuFlyoutItem.KeyboardAccelerators>
</MenuFlyoutItem>
<MenuFlyoutItem Text="Exit" Icon="Cancel" x:Name="FileExit" x:Uid="FileExit" Click="MenuFlyoutItem_ClickExit">
</MenuFlyoutItem>
</muxc:MenuBarItem>
<muxc:MenuBarItem Title="Item2">
</muxc:MenuBarItem>
<muxc:MenuBarItem Title="Item3">
</muxc:MenuBarItem>
<muxc:MenuBarItem Title="Item4">
</muxc:MenuBarItem>
</muxc:MenuBar>
<muxc:TabView AddTabButtonClick="TabView_AddButtonClick" TabCloseRequested="TabView_TabCloseRequested" Loaded="TabView_Loaded" Margin="0,70,0,0" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<muxc:TabView.KeyboardAccelerators>
<KeyboardAccelerator Key="T" Modifiers="Control" Invoked="NewTabKeyboardAccelerator_Invoked" />
<KeyboardAccelerator Key="W" Modifiers="Control" Invoked="CloseSelectedTabKeyboardAccelerator_Invoked" />
<KeyboardAccelerator Key="Number1" Modifiers="Control" Invoked="NavigateToNumberedTabKeyboardAccelerator_Invoked" />
<KeyboardAccelerator Key="Number2" Modifiers="Control" Invoked="NavigateToNumberedTabKeyboardAccelerator_Invoked" />
<KeyboardAccelerator Key="Number3" Modifiers="Control" Invoked="NavigateToNumberedTabKeyboardAccelerator_Invoked" />
<KeyboardAccelerator Key="Number4" Modifiers="Control" Invoked="NavigateToNumberedTabKeyboardAccelerator_Invoked" />
<KeyboardAccelerator Key="Number5" Modifiers="Control" Invoked="NavigateToNumberedTabKeyboardAccelerator_Invoked" />
<KeyboardAccelerator Key="Number6" Modifiers="Control" Invoked="NavigateToNumberedTabKeyboardAccelerator_Invoked" />
<KeyboardAccelerator Key="Number7" Modifiers="Control" Invoked="NavigateToNumberedTabKeyboardAccelerator_Invoked" />
<KeyboardAccelerator Key="Number8" Modifiers="Control" Invoked="NavigateToNumberedTabKeyboardAccelerator_Invoked" />
<KeyboardAccelerator Key="Number9" Modifiers="Control" Invoked="NavigateToNumberedTabKeyboardAccelerator_Invoked" />
</muxc:TabView.KeyboardAccelerators>
</muxc:TabView>
</Grid>
uj5u.com熱心網友回復:
我想我找到了問題
確保將 TabView 的水平和垂直對齊設定為 Stretch。
<muxc:TabView HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
編輯:
將 MainPage.xaml 中網格的 VerticalAlignment 從 Top 更改為 Stretch,一切都應該按預期作業。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/411470.html
標籤:
