1

我需要在Windows Store應用程序中檢索用戶的字符串響應。爲什麼我的Windows應用商店應用彈出窗口不能用我的自定義控件彈出?

根據我讀herehere,我添加這些的WinRT XAML顯示here類現在控制:

<ControlTemplate> 
    <StackPanel Orientation="Vertical"> 
     <TextBlock Text="Enter a name for the Photoset" /> 
     <TextBox x:Name="txtbxPhotosetName"/> 
     <Button Content="Okey dokey" /> 
    </StackPanel> 
</ControlTemplate> 

...這代碼嘗試調用該對話框/控制和檢索輸入值:

String photosetName = PromptForPhotosetName(); 
. . . 
private string PromptForPhotosetName() 
{ 
    Popup popTart = new Popup(); 
    var pfpsn = new promptForPhotosetName(); 
    popTart.Child = pfpsn; 
    popTart.IsOpen = true; // <= does not open/dispay 
    // neither "pfpsn." nor "popTart.Child." show me what I'd like to see as an available member 
to access, namely "txtbxPhotosetName" 
    return "somePhotosetName"; 
} 

什麼我需要做的,使彈出可見,然後檢索txtbxPhotosetName的文本?

+1

I * *想你可能需要設置彈出窗口的寬度/高度,但我不是肯定的。另外,PromptForPhotosetName是在UI線程上創建的嗎?我們可能需要查看調用PromptForPhotosetName的內容。 – 2014-10-18 00:01:15

+0

是的,PromptForPhotosetName()是(最終)響應按鈕單擊而調用的。 – 2014-10-18 00:04:09

+1

您可以訂閱Opened和Closed事件並查看它們是否被調用?之後(如果它被調用),我不知道它是否被拖出屏幕。最後要檢查的是我想知道Popup在方法調用結束時是否被銷燬。也許創建一個Popup支持變量,覆蓋變量,然後調用該值的IsOpen? – 2014-10-18 00:26:06

回答

1

我給彈出一個好聽的名字和一個比較典型TextBlock內容,它就可以工作,沒有問題......有

private void MyButton_OnClick(object sender, RoutedEventArgs e) 
{ 
    var popup = new Popup(); 
    popup.Child = new TextBlock 
    { 
     FontSize = 72, 
     FontFamily = new FontFamily("Consolas"), 
     Text = "Hi, I'm a Popup!" 
    }; 
    popup.IsOpen = true; // <= does open/dispay 
} 
+0

謝謝;現在我需要弄清楚如何從彈出窗口中獲取用戶輸入的字符串。 – 2014-10-18 13:51:56

相關問題