如何禁用PivotItem加载,直到我选择它? (UWP C#)

问题描述 投票:1回答:1

我需要使用Pivot但不加载所有PivotItems中的所有页面。只有当我选择这个特定的PivotItem时,才需要在PivotItem中加载/重新翻译每个页面。

我已经尝试过,一个接一个,Xaml提供的所有功能,只有在按下PivotItem但不成功时才能执行操作。

<Pivot x:Name="XmlConfigPivot">
            <PivotItem Header="Layout">
                <Frame>
                    <xml_config:Layout_Tab/>
                </Frame>
            </PivotItem>
            <PivotItem Header="stub_tab">
                <Frame>
                    <xml_config:Stub_Tab/>
                </Frame>
            </PivotItem>
</Pivot>

如何在我选择它的PivotItem时加载“xml_config:Layout_Tab”?

c# xaml uwp
1个回答
2
投票

正如@Bruno所说,你可以通过编程直接加载每一页。您只需要为Pivot注册SelectionChanged事件并添加一些代码逻辑来实现它。

以下是一个简单的代码示例供您参考:

<Pivot x:Name="XmlConfigPivot" SelectionChanged="XmlConfigPivot_SelectionChanged">
        <PivotItem Header="Layout">
            <Frame>
            </Frame>
        </PivotItem>
        <PivotItem Header="stub_tab">
            <Frame>
            </Frame>
        </PivotItem>
</Pivot>
private void XmlConfigPivot_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
    PivotItem item = ((sender as Pivot).SelectedItem) as PivotItem;
    string header = item.Header.ToString();
    Frame frame = item.Content as Frame;
    switch (header)
    {
            case "Layout": frame?.Navigate(typeof(page1)); break;
            case "stub_tab": frame?.Navigate(typeof(page2)); break;
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.