Comment puis-je désactiver la fonctionnalité copier et coller dans un bloc de texte Silverlight?Copier et coller dans Silverlight
Répondre
Je suppose que vous voulez dire TextBox
plutôt que TextBlock
car ce dernier ne permet pas de couper et coller.
Je pense que la manière la plus simple de faire cela sera de dériver de TextBox
et de surcharger la manipulation des touches pour éviter les raccourcis d'opération du presse-papier. Vous auriez besoin d'étendre cette solution de base si vous vouliez que le support I18N permette différents raccourcis sur différents systèmes, mais pour les standards Ctrl + V, Ctrl + C (ou Apple + C et Apple + V sur Mac), cela devrait fonctionner. Vous pouvez aussi considérer Ctrl + Ins comme une alternative à Ctrl + V (je ne suis pas certain que Silverlight supporte cela, mais cela pourrait être le cas).
En ce qui concerne la question ci-dessus, l'article suivant pourrait aider ...
personnalisé Silverlight avec TextBox contextmenu (Couper, Copier, Coller et Supprimer)
La réponse est ici la celui que vous allez vouloir entendre mais c'est la manière la plus correcte à mon humble avis. TextBlock ne prend pas en charge le copier/coller.
L'étiquette non plus. J'ai l'impression de me rappeler que c'est à cause de leur rendu à l'écran. Le meilleur moyen que je connaisse est d'utiliser un TextBox et le styler pour qu'il ressemble à un TextBlock ou un Label.
Voici un style simple et agréable à essayer et à modifier. Il devrait faire l'affaire correctement.
<Style x:Key="ReadonlyTextBox" TargetType="TextBox">
<Setter Property="BorderThickness" Value="1"/>
<Setter Property="Background" Value="#FFFFFFFF"/>
<Setter Property="Foreground" Value="#FF000000"/>
<Setter Property="Padding" Value="2"/>
<Setter Property="IsReadOnly" Value="True"/>
<Setter Property="BorderBrush">
<Setter.Value>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#FFA3AEB9" Offset="0"/>
<GradientStop Color="#FF8399A9" Offset="0.375"/>
<GradientStop Color="#FF718597" Offset="0.375"/>
<GradientStop Color="#FF617584" Offset="1"/>
</LinearGradientBrush>
</Setter.Value>
</Setter>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="TextBox">
<Grid x:Name="RootElement">
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal"/>
<VisualState x:Name="MouseOver"/>
<VisualState x:Name="Disabled"/>
<VisualState x:Name="ReadOnly">
<Storyboard>
<DoubleAnimation Duration="0" To="1" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="ReadOnlyVisualElement"/>
<ColorAnimation Duration="0" To="#00C9C9C9" Storyboard.TargetProperty="(Border.Background).(SolidColorBrush.Color)" Storyboard.TargetName="ReadOnlyVisualElement" d:IsOptimized="True"/>
</Storyboard>
</VisualState>
</VisualStateGroup>
<VisualStateGroup x:Name="FocusStates">
<VisualState x:Name="Focused"/>
<VisualState x:Name="Unfocused"/>
</VisualStateGroup>
<VisualStateGroup x:Name="ValidationStates">
<VisualState x:Name="Valid"/>
<VisualState x:Name="InvalidUnfocused"/>
<VisualState x:Name="InvalidFocused"/>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<Border x:Name="Border" CornerRadius="1" Opacity="1">
<Grid>
<Border x:Name="ReadOnlyVisualElement" Background="#5EC9C9C9" Opacity="0"/>
<ScrollViewer x:Name="ContentElement" BorderThickness="0" IsTabStop="False" Padding="{TemplateBinding Padding}" Margin="1,1,-1,1"/>
</Grid>
</Border>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Maintenant, vous avez juste un tas de Trouver & Remplacer pour obtenir occupé avec :-)
- 1. Interception Copier et coller avec AppleScript
- 2. Citations intelligentes sans "casser" copier et coller?
- 3. vi recherche copier coller rechercher copier
- 4. Créer un bouton Copier/Coller
- 5. jQuery AlphaNumericPlugin - Copier Coller Éditer
- 6. Copier et coller dans une cellule DataGridView (C#)
- 7. empêche copier + coller pour TextArea()
- 8. mise en œuvre de copier, couper et coller
- 9. Copier et coller sur l'iPhone avec plusieurs représentations de données
- 10. TinyMCE et l'importation/copier coller à partir de Microsoft Word
- 11. Copier coller en utilisant le Javascript
- 12. copier/coller écouteur d'événement en C#
- 13. Changer le texte des boutons copier & coller
- 14. Comment personnaliser le comportement copier/coller dans Visual Studio 2008?
- 15. Comment désactiver le copier/coller dans les contrôles Flex Text?
- 16. Comment implémenter le copier-coller d'une ressource dans REST?
- 17. Caractères d'accent cassés lorsque Copier/Coller dans ASP .Net
- 18. Copier/Coller ne fonctionne pas dans Modal fenêtre
- 19. Copier-coller l'image dans l'éditeur de texte enrichi JavaScript
- 20. Copier et coller à partir d'Office 2007 dans <textarea>
- 21. Copier à partir de Ms Word et coller dans le problème Rich Textbox
- 22. Comment copier et coller automatiquement des champs d'Excel dans un formulaire de site Web
- 23. Comment puis-je copier et coller une série de tables dans Word?
- 24. Flex: réutiliser des classes pour plusieurs projets sans copier-coller?
- 25. Comment copier et coller du texte enrichi vers et depuis wxRichTextCtrl?
- 26. Excel - permet de copier/coller mais pas d'entrée de données
- 27. TinyMce - Copier/coller les changements url de l'image
- 28. Comment attribuer des autorisations pour copier/coller sur Windows
- 29. comment faire un script copier-coller avec jcreator?
- 30. Excel Macro copier et ligne Coller Format par ligne au lieu de gamme de cellules
Copier et coller ne fonctionnent pas dans un Silverlight TextBlock. Voulez-vous dire TextBox? –