TextBox PreviewKeyDown

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="300" Width="300">
    <DockPanel LastChildFill="True">
        <TextBox DockPanel.Dock="Top"
                 PreviewKeyDown="TextBox_KeyEvent" />
        <TextBox Name="txtLog" HorizontalAlignment="Stretch" 
                 IsReadOnly="True" VerticalScrollBarVisibility="Visible"/>
    </DockPanel>
</Window>

//File:Window.xaml.cs
using System;
using System.Windows;
using System.Windows.Input;

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

        private void TextBox_KeyEvent(object sender, KeyEventArgs e)
        {
            String msg = String.Format("{0} - {1}
",e.RoutedEvent.Name, e.Key);

            txtLog.Text += msg;
            txtLog.ScrollToEnd();
        }

    }
}

   
    
     


Programmatically change the way in which TextBlock is trimmed when it exceeds the outer boundaries of its containing box.

image_pdfimage_print


   
  


<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  x:Class="WpfApplication1.Window1"
  Title="TextTrimming Sample">
    <DockPanel Margin="10">
      <StackPanel Orientation="Horizontal" DockPanel.Dock="Top" Margin="0,0,0,25">
        <Button Click="ttNone">TextTrimming="None"</Button>
        <Button Click="ttCE">TextTrimming="CharacterEllipsis"</Button>
        <Button Click="ttWE">TextTrimming="WordEllipsis"</Button>
      </StackPanel>
      <TextBlock Name="txt1" DockPanel.Dock="Bottom"/>
      <TextBlock HorizontalAlignment="Left" TextWrapping="NoWrap" 
        Width="400" FontFamily="Arial" Name="tf1" DockPanel.Dock="Top"
        Background="SkyBlue">
        Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt
        laoreet dolore magna aliquam erat volutpat.
      </TextBlock>
    </DockPanel>
</Window>


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

namespace WpfApplication1
{
  public partial class Window1 : Window
  {
        public void ttNone(object sender, RoutedEventArgs e)
        {
            tf1.TextTrimming = System.Windows.TextTrimming.None;
            txt1.Text = "TextTrimming is now " + tf1.TextTrimming.ToString();
        }
        public void ttCE(object sender, RoutedEventArgs e)
        {
            tf1.TextTrimming = System.Windows.TextTrimming.CharacterEllipsis;
            txt1.Text = "TextTrimming is now " + tf1.TextTrimming.ToString();
        }
        public void ttWE(object sender, RoutedEventArgs e)
        {
            tf1.TextTrimming = System.Windows.TextTrimming.WordEllipsis;
            txt1.Text = "TextTrimming is now " + tf1.TextTrimming.ToString();
        }
    }
}

   
    
     


Effects of the enumerated values of TextWrapping.

image_pdfimage_print


   
  

<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  x:Class="WpfApplication1.Window1" Height="480" Width="640"
  Title="TextWrap Sample">
  <StackPanel Margin="0,0,0,10" Background="LightSkyBlue">
    <StackPanel Orientation="Horizontal" Margin="0,0,0,20">
      <Button Name="btn1" Background="Silver" Width="100" Click="Wrap">Wrap</Button>
      <Button Name="btn2" Background="Silver" Width="100" Click="NoWrap">NoWrap</Button>
      <Button Name="btn4" Background="Silver" Width="100" Click="WrapWithOverflow">WrapWithOverflow</Button>
    </StackPanel>
    <TextBlock Name="txt2" TextWrapping="Wrap" Margin="0,0,0,20" Foreground="Black">
      Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, 
      consectetuer adipiscing elit.Lorem ipsum dolor sit aet, consectetuer adipiscing elit.
      Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
    </TextBlock>
    <TextBlock FontSize="12" Name="txt1">
      The TextWrap property is currently set to Wrap.
    </TextBlock>    
  </StackPanel>
</Window>
//File:Window.xaml.cs
using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Media;

namespace WpfApplication1
{

  public partial class Window1 : Window
  {
        public void Wrap(object sender, RoutedEventArgs e)
        {
            txt2.TextWrapping = System.Windows.TextWrapping.Wrap;
            txt1.Text = "The TextWrap property is currently set to Wrap.";
        }
        public void NoWrap(object sender, RoutedEventArgs e)
        {
            txt2.TextWrapping = System.Windows.TextWrapping.NoWrap;
            txt1.Text = "The TextWrap property is currently set to NoWrap.";
        }
        public void WrapWithOverflow(object sender, RoutedEventArgs e)
        {
            txt2.TextWrapping = System.Windows.TextWrapping.WrapWithOverflow;
            txt1.Text = "The TextWrap property is currently set to WrapWithOverflow.";
        }
    }
}

   
    
     


Simple underline decoration

image_pdfimage_print


   
  

<Window x:Class="Decorations.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Decorations" Height="300" Width="300">
    <Grid>
      <TextBlock x:Name="text" Text="Decorations" />
    </Grid>
</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 Decorations
{
    public partial class Window1 : System.Windows.Window
    {
        public Window1()
        {
            InitializeComponent();
            text.TextDecorations = TextDecorations.Underline;
        }
    }
}

   
    
     


Use Run the mark underlink TextDecorations

image_pdfimage_print


   
  


<Window x:Class="ClassicControls.PopupTest"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="PopupTest" Height="300" Width="300">
    <Grid Margin="10">
      <TextBlock TextWrapping="Wrap">text 
         <Run TextDecorations="Underline" MouseEnter="run_MouseEnter">link</Run>
      </TextBlock>
      <Popup Name="popLink" StaysOpen="False" Placement="Mouse" MaxWidth="200" PopupAnimation="Slide" AllowsTransparency = "True">
        <Border BorderBrush="Beige" BorderThickness="2" Background="White">
          <TextBlock Margin="10"  TextWrapping="Wrap" >
            check out
            <Hyperlink NavigateUri="http://kutayzorlu.com/java2s/com" Click="lnk_Click">kutayzorlu.com/java2s/com</Hyperlink>
          </TextBlock>
        </Border>
      </Popup>
    </Grid>
</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;
using System.Diagnostics;

namespace ClassicControls
{
    public partial class PopupTest : System.Windows.Window
    {

        public PopupTest()
        {
            InitializeComponent();
        }

        private void run_MouseEnter(object sender, MouseEventArgs e)
        {
            popLink.IsOpen = true;
        }
        private void lnk_Click(object sender, RoutedEventArgs e)
        {
            Process.Start(((Hyperlink)sender).NavigateUri.ToString());
        }
    }
}

   
    
     


VerticalAlignment=Top HorizontalAlignment=Left

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="Window1" Height="300" Width="300">
    <Grid>
        <Button Height="23" Margin="12,12,0,0" Name="button1" VerticalAlignment="Top" 
                HorizontalAlignment="Left" Width="76" Click="button1_Click">Button</Button>
        <TextBlock
            FontSize="16"
            Name="textBlock1"
            VerticalAlignment="Center"
            HorizontalAlignment="Center"
            xml:space="preserve"><Bold>Goodbye</Bold> world, <Rectangle Width="20" Height="20" Fill="Blue"/> hello <Italic>Mars!</Italic></TextBlock>
    </Grid>
</Window>

//File:Window.xaml.cs

using System;
using System.Collections.Generic;
using System.Linq;
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.Navigation;
using System.Windows.Shapes;

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

        private void button1_Click(object sender, RoutedEventArgs e)
        {
            MessageBox.Show("Please don’t click this button again");
        }
    }
}

   
    
     


TextBox Style

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="220" Width="300">
    <Window.Resources>
        <Style x:Key="BaseControlStyle" 
               TargetType="{x:Type Control}">
            <Setter Property="FontFamily" Value="Tahoma" />
            <Setter Property="FontSize" Value="24pt"/>
            <Setter Property="Margin" Value="4" />
        </Style>

        <Style TargetType="{x:Type Button}" 
               BasedOn="{StaticResource BaseControlStyle}">
            <Setter Property="FontWeight" Value="Bold" />
        </Style>

        <Style TargetType="{x:Type CheckBox}" 
               BasedOn="{StaticResource BaseControlStyle}">
        </Style>
        <Style TargetType="{x:Type TextBox}" 
               BasedOn="{StaticResource BaseControlStyle}">
        </Style>

    </Window.Resources>

    <Grid>
        <StackPanel>
            <CheckBox>CheckBox</CheckBox>
            <TextBox>TextBox</TextBox>
            <Button>Button</Button>
            <Button FontWeight="Light">Button with overridden style</Button>
            <TextBlock>TextBlock</TextBlock>
            <ComboBox>ComboBox</ComboBox>
        </StackPanel>
    </Grid>
</Window>