簡體   English   中英

ContentDialog.ShowAsync() 結果總是 None

[英]ContentDialog.ShowAsync() result is always None

我有一個帶有 ContentDialog.XAML 的簡單 ContentDialog:

<ContentDialog x:Class="SampleApp.Dialogs"
           xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
           xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
           xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
           xmlns:local="using:SampleApp.Dialog"
           xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
           PrimaryButtonClick="OkClick"
           PrimaryButtonText="OK"
           SecondaryButtonText="Cancel"
           SecondaryButtonClick="CancelClick"

           mc:Ignorable="d">
<StackPanel>

    <TextBox 

             Text="{x:Bind NameOne, Mode=TwoWay}" />

    <TextBox  Text="{x:Bind NameTwo, Mode=TwoWay}" />
</StackPanel>

在代碼隱藏中:

     private void OkClick(ContentDialog sender, ContentDialogButtonClickEventArgs args)
    {
       this.Hide();
    }

當我想通過以下方式初始化此對話框時:

Dialog dialog = new Dialog();
var result = await dialog.ShowAsync();

result始終是ContentDialogResult.None類型。 即使我單擊“確定”或“取消”,但當我單擊“確定”時它至少應該是ContentDialogResult.Primary 這是預期的行為嗎?

private void OkClick(object sender, RoutedEventArgs e)
{
    this.Result = MyResult.Yes;
    // Close the dialog
    dialog.Hide();
}

問題是PrimaryButtonClick="OkClick" , OkClick 覆蓋了默認操作(即隱藏),因此結果始終為None 刪除它解決了問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM