wpf 无法在TabViewItem中自动填充WinUI3中的页面

yhqotfr8  于 2022-11-18  发布在  其他
关注(0)|答案(1)|浏览(120)

OrderV.xamlwrong effectdesired effect

Frame frame = new Frame();
 frame.Navigate(typeof(OrderV));

 TabViewItem tabViewItem = new()
 {
     Header = "Order",
     Content = frame
 };
 
tabViewItem.IsSelected = true;
TabViewControl.TabItems.Add(tabViewItem);

我尝试过单独使用Frame,效果很好,但我希望Page在TabViewItem中工作
第一次

e4yzc0pl

e4yzc0pl1#

您需要将VerticalAlignment="Stretch"添加到您的TabView控件中。下面是您的代码中的一个最小示例。

主窗口.xaml

<Grid RowDefinitions="Auto,*">
    <Button
        Grid.Row="0"
        Click="Button_Click"
        Content="Start" />
    <TabView
        x:Name="TabViewControl"
        VerticalAlignment="Stretch"
        Grid.Row="1" />
</Grid>

主窗口.xaml.cs

public sealed partial class MainWindow : Window
{
    public MainWindow()
    {
        this.InitializeComponent();
    }

    private void Button_Click(object sender, RoutedEventArgs e)
    {
        Frame frame = new();
        frame.Navigate(typeof(OrderV));

        TabViewItem tabViewItem = new()
        {
            Header = "Order",
            Content = frame
        };

        tabViewItem.IsSelected = true;
        TabViewControl.TabItems.Add(tabViewItem);
    }
}

相关问题