簡體   English   中英

通用應用程序Windows Phone TextBox.SelectAll()啟用了復制功能不起作用

[英]Universal Apps Windows Phone TextBox.SelectAll() with copy enabled does not work

在Store Apps / Universal Apps / Windows Phone 8.1 Visual Studio 2013項目中,如何以編程方式選擇TextBox中的所有文本,並啟用上下文復制圖標菜單,如下面的屏幕截圖所示:

一只忙碌的貓http://texttophone.free.fr/selectallwithcopyenabled.png

需要在上下文中顯示文本,其中用戶很可能想要將其復制到剪貼板中。

以下測試不起作用:

XAML

        <TextBox x:Name="MyTextBox" Grid.Row="0" 
                 HorizontalAlignment="Stretch" VerticalAlignment="Stretch"
                 Text="The text I want to select"
                 IsReadOnly="True"
                 IsEnabled="True"
                 GotFocus="MyTextBox_GotFocus"></TextBox>
        <Button x:Name="ButtonSelectAll" Grid.Row="1"
                Content="Select All"
                HorizontalAlignment="Center"
                Click="ButtonSelectAll_Click"></Button>

C#

        private void ButtonSelectAll_Click(object sender, RoutedEventArgs e)
        {
            MyTextBox.SelectAll();
            // MyTextBox.Focus(FocusState.Programmatic);
        }

        private void MyTextBox_GotFocus(object sender, RoutedEventArgs e)
        {
            MyTextBox.SelectAll();
        }

試試Click事件什么都不做。 嘗試GotFocus事件選擇所有文本,但上下文復制圖標菜單和兩個句柄不顯示。 如果你添加Click方法“text.Focus(FocusState.Programmatic);” 然后選擇文本但不顯示復制圖標。 不幸的是,如果您用手指觸摸此文本並打算出現“復制圖標”,則會丟失選擇。

@efdummy試試這個:

 private void ButtonSelectAll_Click(object sender, RoutedEventArgs e)
 {
    MyTextBox.Select(0, MyTextBox.Text.Length);
    string selectedText = MyTextBox.SelectedText;
    DataPackage myPackage = new DataPackage();
    myPackage.SetText(selectedText);
    Clipboard.SetContent(myPackage);
 }

暫無
暫無

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

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