Windows Developer

Das unabhängige Magazin für Microsoft-Technologien
X

Quickvote: Was bedeutet Microsofts neue Offenheit für Sie?

WPF, Silverlight, Silverlight for Windows Phone und Metro Style Apps

Silverlight: TextBlock-Texte selektierbar machen

Silverlight: TextBlock-Texte selektierbar machen

In der neuen Kolumne "XAML Expertise" des Windows Developer präsentiert Gregor Biswanger Top-How-tos zum Thema XAML. Einsteiger und fortgeschrittene XAML-Experten sollen hier durch geballtes Wissen gesättigt werden. Heute gibt es folgende Expertise: "Silverlight: TextBlock-Texte selektierbar machen".

Es gibt nichts Unangenehmeres, als wenn ein beliebiger Text in einer Silverlight-Anwendung nicht markiert und somit in den Zwischenspeicher kopiert werden kann. Das ist dann der Fall, wenn der Text mittels TextBlock-Steuerelement angezeigt wird. Daher zeigt dieses How-to einen TextBlock-Style für eine TextBox. Einfach den Sourcecode aus Listing 1 in das gewünschte Silverlight-Projekt unter der App.xaml einfügen, und anschließend wird der Style einer TextBox zugewiesen, die dann als TextBlock fungieren soll. Dieses Beispiel verdeutlicht Listing 2, wie im XAML-Code der Style direkt zugewiesen wird. Bei Expression Blend definiert man einen Style, indem man mittels rechter Maustaste auf die TextBox klickt, und unter Edit Template | Apply Resource | TextBlockStyle auswählt. Wie Abbildung 1 demonstriert, kann nun der TextBlock-Text markiert und mittels Tastenkombination STRG+C in der Zwischenablage abgelegt werden. Das Beispiel funktioniert ebenfalls unter WPF und Windows-Store-Apps.

Listing 1: TextBlock-Syle für das TextBox-Steuerelement
<Application
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="SilverlightTextBloxTest.App">
<Application.Resources>

<Style x:Key="TextBlockStyle" TargetType="TextBox">
<Setter Property="BorderThickness" Value="1"/>
<Setter Property="IsReadOnly" Value="True"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="TextBox">
<Grid x:Name="RootElement">
<Border x:Name="Border" Opacity="1" CornerRadius="1">
<Grid>
<Border x:Name="MouseOverBorder" BorderBrush="Transparent" BorderThickness="1">
<ScrollViewer x:Name="ContentElement" BorderThickness="0" IsTabStop="False" />
</Border>
</Grid>
</Border>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>

</Application.Resources>
</Application>
Listing 2: TextBlock-Syle einer TextBox zuweisen
<TextBox Text="Herzlich Willkommen" 
Height="44"
VerticalAlignment="Top"
HorizontalAlignment="Left"
Width="245"
Background="Transparent"
FontSize="21.333"
Style="{StaticResource TextBlockStyle}" />

Abb.1: TextBox als TextBlock

Mehr aus dieser Ausgabe

Artikel erschienen in

Web APIs, also APIs auf Basis der im Web üblichen Standards HTTP und JSON, sind…
Windows Developer 5.2013
Mobile Geräte wie Tablets oder Phones sind nichts Neues mehr, trotzdem aber so…
Offlinefähigkeit in Windows Store Apps
Die WinRT stellt uns Funktionalität zur Verfügung, um Windows-Store-Apps…
Beim Reactive Extensions (Rx) Framework handelt es sich um eine .NET-…
An sich ist das .NET Framework eine plattformunabhängige Entwicklungsumgebung…
An sich ist das .NET Framework eine plattformunabhängige Entwicklungsumgebung.…
Bei ASP.NET MVC 4-Seiten über Google, Facebook, Twitter und Co. anmelden
Dr. Holger Schwichtenberg (MVP) und FH-Prof. Manfred Steyer teilen in der…
Windows Store App: Bildschirmsperre verhindern
In der neuen Kolumne "XAML Expertise" des Windows Developer präsentiert Gregor…
Freigabevertrag in Windows-8-Anwendungen
Alle Anwendungen müssen eine Vielzahl von nebensächlichen Aufgaben erledigen,…
Individuelle generische Dienstoperationen bei WCF Data Services
Dr. Holger Schwichtenberg (MVP) und FH-Prof. Manfred Steyer teilen in der…
Silverlight: TextBlock-Texte selektierbar machen
In der neuen Kolumne "XAML Expertise" des Windows Developer präsentiert Gregor…
Windows Phone: Verbindung zum Netzwerk überprüfen
In der neuen Kolumne "XAML Expertise" des Windows Developer präsentiert Gregor…
Gemeinsame DLL-Bibliotheken in verschiedenen .NET-Varianten nutzen
Dr. Holger Schwichtenberg (MVP) und FH-Prof. Manfred Steyer teilen in der…
 

Kommentare

Ihr Kommentar zum Thema

Als Gast kommentieren:

Gastkommentare werden nach redaktioneller Prüfung freigegeben (bitte Policy beachten).

WEITERE TEILE DER SERIE: XAML Expertise