如何在 UWP C# 的 ContentDialog 中启用 CacheMode?

How do I enable CacheMode in ContentDialog in UWP C#?

我正在开发一个带有 ContentDialog 的 UWP 应用程序,它有 TextBox。我想为 ContentDialog 启用缓存,这样即使在关闭对话框后 ContentDialog 的状态也不会改变。

换句话说,如果用户在上面提到的 TextBox 中输入他们的名字。即使在关闭对话框后也不应重置名称。再次打开对话框后,用户名应该出现在文本框中。

提前致谢。,

How do I enable CacheMode in ContentDialog in UWP C#?

要实现此行为,请确保您没有在每次尝试显示 ContentDialog 时都创建新的 ContentDialog。只要您始终调用同一个 ContentDialog 实例并且您没有手动重置值,ContentDialog 的状态就不会改变。

例如,我在 XAML 中创建了一个 ContentDialog,如下所示:

 <ContentDialog x:Name="MyDialog"
                   Width="500" 
                   PrimaryButtonText="OK"
                   SecondaryButtonText="Cancel" >
        <StackPanel Height="Auto" Width="450" Orientation="Vertical">
            <TextBlock x:Name="txtHotlistMsg" Text="Title"/>
            <ToggleButton Content="Check" IsChecked="False"/>
            <TextBox x:Name="ttBox" PlaceholderText="Type something"/>
        </StackPanel>
    </ContentDialog>

如果我在 code-behind 中调用 MyDialog.ShowAsync() 方法,请在 TextBox 中键入内容或选中 ToggleButton,然后使用确定按钮关闭按钮。当您再次打开 ContentDialog 时,它们的状态不会改变。