This documentation is archived and is not being maintained.
TextEffectResolver Class
Visual Studio 2010
A helper class that sets text effects in a text container
Assembly: PresentationFramework (in PresentationFramework.dll)
The TextEffectResolver type exposes the following members.
The following example shows how to apply a TranslateTransform, ScaleTransform, and RotateTransform text effect to text. Below is the XAML for the example.
<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" x:Class="SDKSample.TextEffectTargetExample" Title="TextBlock Properties Sample"> <StackPanel> <RadioButton Click="teTranslate" Margin="5,0,5,0">TranslateTransform</RadioButton> <RadioButton Click="teScale" Margin="5,0,5,0">ScaleTransform</RadioButton> <RadioButton Click="teRotate" Margin="5,0,5,0">RotateTransform</RadioButton> <TextBlock Background="LightGray" TextWrapping="Wrap" Name="tb1"> Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nam laoreet dolor et dolor. Vestibulum quis nunc auctor ante dignissim venenatis. Curabitur wisi. Donec faucibus auctor ipsum. In fermentum dui. Ut suscipit aliquam eros. Nullam elementum quam eu enim. Sed a purus id nisl imperdiet blandit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Sed at quam. </TextBlock> </StackPanel> </Page>
Below is the code behind for the example.
using System; using System.Windows; using System.Collections; using System.Windows.Controls; using System.Windows.Media; using System.Windows.Documents; namespace SDKSample { public partial class TextEffectTargetExample : Page { // Event handler for translating (moving) the text element. public void teTranslate(object sender, RoutedEventArgs e) { // Wipe out existing TextEffects on the TextBlock DisableTextEffects(); TextEffect myEffect = new TextEffect(); myEffect.PositionStart = 0; myEffect.PositionCount = 999; // Create a TranslateTransform that moves the TextBlock to an offset position of // 50,50. TranslateTransform myTranslateTransform = new TranslateTransform(50,50); myEffect.Transform = myTranslateTransform; // Apply the effect to the TextBlock EnableTextEffects(tb1, myEffect); } // Event handler for transforming the size of the text element. public void teScale(object sender, RoutedEventArgs e) { // Wipe out existing TextEffects on the TextBlock DisableTextEffects(); TextEffect myEffect = new TextEffect(); myEffect.PositionStart = 0; myEffect.PositionCount = 999; // Create a ScaleTransform that scales the TextBlock by 5. ScaleTransform myScaleTransform = new ScaleTransform(5,5); myEffect.Transform = myScaleTransform; // Apply the effect to the TextBlock EnableTextEffects(tb1, myEffect); } public void teRotate(object sender, RoutedEventArgs e) { // Wipe out existing TextEffects on the TextBlock DisableTextEffects(); TextEffect myEffect = new TextEffect(); myEffect.PositionStart = 0; myEffect.PositionCount = 999; // Create a ScaleTransform that rotates the text by 45 degrees. RotateTransform myRotateTransform = new RotateTransform(45); myEffect.Transform = myRotateTransform; // Apply the effect to the TextBlock EnableTextEffects(tb1, myEffect); } // Disable all existing text effects to make way for new ones. private void DisableTextEffects() { if (_textEffectTargets != null) { foreach (TextEffectTarget target in _textEffectTargets) target.Disable(); } } // Enable TextEffectTargets and apply effect to TextBlock. private void EnableTextEffects(TextBlock tb, TextEffect effect) { _textEffectTargets = TextEffectResolver.Resolve(tb.ContentStart, tb.ContentEnd, effect); foreach (TextEffectTarget target in _textEffectTargets) target.Enable(); } private TextEffectTarget[] _textEffectTargets; } }
Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Show:
