Assign your own class to DataContent and bind to TextBox

image_pdfimage_print


   
  

<Window x:Class="WpfApplication1.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="BindingWithFallback" Height="300" Width="300">
    <StackPanel>
      <TextBox Text="{Binding Path=FastProperty, Mode=OneWay}" IsReadOnly="True" />
    </StackPanel>
</Window>

//File:Window.xaml.cs
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;


namespace WpfApplication1{

  class MyClass {
    public string FastProperty { get { return "AAA"; } }
  }

  public partial class Window1 : System.Windows.Window {

    public Window1() {
      InitializeComponent();
      DataContext = new MyClass();
    }

  }
}

   
    
     


Listen to TextBox text changed event

image_pdfimage_print


   
  

<Window x:Class="WpfApplication1.Window1"
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  Title=" " Height="300" Width="300" Loaded="Window1_Loaded">
  <Grid>
    <Viewbox>
      <TextBox x:Name="tbxEditMe" Text="Edit Me..." />
    </Viewbox>      
  </Grid>
</Window>


//File:Window.xaml.cs
using System;
using System.ComponentModel;
using System.Windows;
using System.Windows.Controls;

namespace WpfApplication1
{
    public partial class Window1 : Window
    {
        public Window1()
        {
            InitializeComponent();
        }

        private void Window1_Loaded(object sender, RoutedEventArgs e)
        {
            DependencyPropertyDescriptor descriptor = DependencyPropertyDescriptor.FromProperty(TextBox.TextProperty, typeof(TextBox));
            descriptor.AddValueChanged(tbxEditMe, tbxEditMe_TextChanged);
            
        }

        private void tbxEditMe_TextChanged(object sender, EventArgs e)
        {
            MessageBox.Show("", "changed");
        }
    }
}

   
    
     


Set Foreground color for TextBlock

image_pdfimage_print


   
     

<Window x:Class="WpfApplication1.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="WPF" Height="160" Width="300">
    <Grid>
            <TextBlock Foreground="DarkGray" 
                       VerticalAlignment="Center" 
                       HorizontalAlignment="Center"
                       ToolTip="This is a custom tooltip"
                       Text="Mouse Over for tooltip"/>
    </Grid>
    
</Window>

   
    
    
    
    
     


Add Border to TextBlock

image_pdfimage_print


   
     

<Window x:Class="WpfApplication1.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="WPF" Height="160" Width="300">
    <Grid>
        <Border Margin="8" 
                BorderThickness="1"
                BorderBrush="Black"
                Width="160" 
                Height="60">
            <TextBlock Foreground="DarkGray" 
                       VerticalAlignment="Center" 
                       HorizontalAlignment="Center"
                       ToolTip="This is a custom tooltip"
                       Text="Mouse Over for tooltip"/>
        </Border>
    </Grid>
    
</Window>

   
    
    
    
    
     


Empirical Tilted Text Shadow

image_pdfimage_print


   
      

<Canvas xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <Canvas.Resources>
        <Style TargetType="{x:Type TextBlock}">
            <Setter Property="FontFamily" Value="Times New Roman" />
            <Setter Property="FontSize" Value="144" />
            <Setter Property="Text" Value="Shadow" />
            <Setter Property="Canvas.Left" Value="96" />
            <Setter Property="Canvas.Top" Value="192" />
        </Style>
    </Canvas.Resources>

    <!-- Shadow Text. -->

    <TextBlock Foreground="DarkGray">
        <TextBlock.RenderTransform>
            <TransformGroup>
                <ScaleTransform ScaleY="3" CenterY="100" />
                <SkewTransform AngleX="-45" CenterY="100" />
            </TransformGroup>
        </TextBlock.RenderTransform>
    </TextBlock>

    <!-- Foreground Text. -->

    <TextBlock />
</Canvas>

   
    
    
    
    
    
     


Fill the overline decoration with a linear gradient brush in C#

image_pdfimage_print


   
  

<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  x:Class="TextDecorationExample.Window1"
  Title="TextDecoration Example"
  Width="720"
  Height="400"
  Loaded="WindowLoaded">
  <StackPanel>

      <TextBlock Name="overlineTextBlock" FontSize="24" Width="180" VerticalAlignment="Center">The lazy dog</TextBlock>

  </StackPanel>
</Window>
//File:Window.xaml.cs

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

namespace TextDecorationExample
{
    public partial class Window1 : Window
    {
         private void WindowLoaded(object sender, EventArgs e)
         {
             // Fill the overline decoration with a linear gradient brush.
             TextDecorationCollection myCollection = new TextDecorationCollection();
             TextDecoration myOverline = new TextDecoration();
             myOverline.Location = TextDecorationLocation.OverLine;

             // Set the linear gradient brush.
             Pen myPen = new Pen();
             myPen.Brush = new LinearGradientBrush(Colors.LimeGreen, Colors.Yellow, 0);
             myPen.Thickness = 3;
             myOverline.Pen = myPen;
             myOverline.PenThicknessUnit = TextDecorationUnit.FontRecommended;

             // Set the overline decoration to the text block.
             myCollection.Add(myOverline);
             overlineTextBlock.TextDecorations = myCollection;
         }

    }
}

   
    
     


Fill the baseline decoration with a linear gradient brush in C#

image_pdfimage_print


   
  

<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  x:Class="TextDecorationExample.Window1"
  Title="TextDecoration Example"
  Width="720"
  Height="400"
  Loaded="WindowLoaded">
  <StackPanel>

      <TextBlock Name="baselineTextBlock" FontSize="24" Width="180" VerticalAlignment="Center">The lazy dog</TextBlock>      

  </StackPanel>
</Window>
//File:Window.xaml.cs

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

namespace TextDecorationExample
{
    public partial class Window1 : Window
    {
         private void WindowLoaded(object sender, EventArgs e)
         {
             // Fill the baseline decoration with a linear gradient brush.
             TextDecorationCollection myCollection = new TextDecorationCollection();
             TextDecoration myBaseline = new TextDecoration();
             myBaseline.Location = TextDecorationLocation.Baseline;

             // Set the linear gradient brush.
             Pen myPen = new Pen();
             myPen.Brush = new LinearGradientBrush(Colors.Orange, Colors.Red, 0);
             myPen.Thickness = 3;
             myBaseline.Pen = myPen;
             myBaseline.PenThicknessUnit = TextDecorationUnit.FontRecommended;

             // Set the baseline decoration to the text block.
             myCollection.Add(myBaseline);
             baselineTextBlock.TextDecorations = myCollection;
         }

    }
}