1

J'ai un groupe de données avec un richtextbox en elle. L'utilisateur peut taper du texte et avoir une certaine capacité d'édition, mais je voudrais donner à l'utilisateur la possibilité de développer l'éditeur en plein écran pour avoir plus d'options d'édition richtextbox. Comment puis-je implémenter une fonction qui me permettra de mettre en plein écran (ou au moins de créer une fenêtre plus grande) le richtexteditor afin que l'utilisateur ait une meilleure vue d'ensemble sur le document et plus d'options d'édition?richtextbox Fullscreen dans silverlight

C'est Ment être possible en mode hors bande.

Répondre

1

travail wont plein écran que vous avez entrée du clavier limite en plein écran:

  • Flèche
  • Flèche
  • Flèche gauche
  • flèche droite
  • barre d'espace
  • Tab
  • Page Up
  • Page Down
  • Accueil
  • Fin
  • Entrez

Ce que vous pouvez faire est par exemple est de rendre votre élément remplir tout l'espace de votre application silverlight en rendant la taille exacte de votre RootVisual et ajuster vos marges pour le placer correctement dans votre application:

XAML:

<UserControl x:Class="SilverlightApplication1.MyRichTextBox" 
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:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
mc:Ignorable="d" 
d:DesignHeight="300" d:DesignWidth="400"> 

<Grid x:Name="LayoutRoot" Background="White"> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="Auto" /> 
     <RowDefinition Height="*" /> 
    </Grid.RowDefinitions> 
    <Button x:Name="FullScreen" Grid.Row="0" Content="FullScreen" Click="FullScreen_Click" /> 
    <RichTextBox Grid.Row="1" /> 
</Grid> 

code-behind:

using System.Windows; 
using System.Windows.Controls; 
using System.Windows.Media; 

namespace SilverlightApplication1 
{ 
    public partial class MyRichTextBox : UserControl 
    { 
     private Thickness _oldMargin; 
     private double _oldHeight = double.NaN; 
     private double _oldWidth = double.NaN; 
     private HorizontalAlignment _oldHorizontalAlignment; 
     private VerticalAlignment _oldVerticalAlignment; 
     private bool _fullScreen = false; 

     public MyRichTextBox() 
     { 
      InitializeComponent(); 
     } 

     private void FullScreen_Click(object sender, RoutedEventArgs e) 
     { 
      if (_fullScreen) 
      { 
       _fullScreen = false; 
       Margin = _oldMargin; 
       Width = _oldWidth; 
       Height = _oldHeight; 
      } 
      else 
      { 
       _fullScreen = true; 

       _oldMargin = Margin; 
       _oldWidth = Width; 
       _oldHeight = Height; 
       _oldHorizontalAlignment = HorizontalAlignment; 
       _oldVerticalAlignment = VerticalAlignment; 

       FrameworkElement rootVisual = Application.Current.RootVisual as FrameworkElement; 
       GeneralTransform generalTransform = TransformToVisual(rootVisual); 

       Point position = generalTransform.Transform(new Point(0, 0)); 
       Width = rootVisual.ActualWidth; 
       Height =rootVisual.ActualHeight; 

       Margin = new Thickness(-position.X - 1, -position.Y - 1 
        , (ActualWidth + position.X) - rootVisual.ActualWidth - 1 
        , (ActualHeight + position.Y) - rootVisual.ActualHeight - 1); 
      } 
     } 
    } 
} 
+0

Merci de votre réponse, j'ai quelques questions - Etes-vous sûr que le clavier est limitée - Si je comprends bien Ashish Shetty dans ce talk de Mix: http://live.visitmix.com/MIX10/Sessions/CL10 que dans SL4 vous avez le support complet des claviers plutôt que limité dans SL3. Aussi. Êtes-vous sûr que le redimensionnement de la zone de texte enrichi fonctionnera s'il se trouve dans un formulaire de données? Ne va-t-il pas se développer à l'intérieur du formulaire de données? – Jakob

+0

Un additioni à ce problème est que -Par la conception de mon application est pas grande, il serait seulement pour les utilisateurs qui ont choisi activement un espace de travail plus grand pour l'édition – Jakob

+0

@Peter Kiers - Je vais juste ajouter un arobase si vous obtenez le message, je ne cherche pas à le spam avec des commentaires: D Merci pour votre attention – Jakob