2014-11-16 1 views
5

응용 프로그램/Universal Apps/Windows Phone 8.1 Visual Studio 2013 프로젝트에서 문맥 복사 아이콘 메뉴를 사용하여 TextBox의 모든 텍스트를 프로그래밍 방식으로 선택하는 방법 다음 스크린 샷처럼 사용 가능 :범용 Apps Windows Phone TextBox.SelectAll()이 활성화 된 복사가 작동하지 않습니다.

a busy cat 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(); 
     } 

클릭 이벤트의 시도는 아무것도하지 않고 있습니다. 시도시 GotFocus 이벤트는 모든 텍스트를 선택하지만 컨텍스트 복사본 아이콘 메뉴와 두 핸들이 표시되지 않습니다. 에 추가하는 경우 메서드를 클릭하십시오. "text.Focus (FocusState.Programmatic);" 텍스트는 선택되지만 사본 아이콘은 표시되지 않습니다. 그리고 불행히도, 당신이 "복사 아이콘"이 나타날 것이라는 의도로 손가락을 만지면 선택을 잃게됩니다.

+0

상황에 맞는 복사 아이콘 메뉴와 하나 개의 핸들은 당신의 GotFocus 선택 SelectAll 기술로 나를 위해 표시됩니다. 그러나 일관성이 없습니다. 감사. 귀하의 질문에 대한 대답은 나를 도왔습니다. – vivekp

답변

0

이 시도 @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); 
}