TextGeometry as Resource : Resource « Windows Presentation Foundation « VB.Net






TextGeometry as Resource

TextGeometry as Resource
     

<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:src="clr-namespace:WpfApplication1.TextGeometryDemo" 
        Title="TextGeometry Demo">
    <Window.Resources>
        <src:TextGeometry x:Key="txtHollow" Text="Hollow"
                          FontFamily="Times New Roman" 
                          FontSize="192" FontWeight="Bold" />
        
        <src:TextGeometry x:Key="txtShadow" Text="Shadow"
                          FontFamily="Times New Roman"
                          FontSize="192" FontWeight="Bold" />
    </Window.Resources>

    <TabControl>
        <TabItem Header="Hollow">
            <Path Stroke="Blue" StrokeThickness="5"
                  Data="{Binding Source={StaticResource txtHollow}, Path=Geometry}" />
        </TabItem>


    </TabControl>
</Window>
//File:Window.xaml.vb
Imports System
Imports System.Globalization
Imports System.Windows
Imports System.Windows.Media

Namespace WpfApplication1.TextGeometryDemo
  Public Class TextGeometry
    Private txt As String = ""
    Private fntfam As New FontFamily()
    Private fntstyle As FontStyle = FontStyles.Normal
    Private fntwt As FontWeight = FontWeights.Normal
    Private fntstr As FontStretch = FontStretches.Normal
    Private emsize As Double = 24
    Private ptOrigin As New Point(0, 0)

    Public Property Text() As String
      Get
        Return txt
      End Get
      Set
        txt = value
      End Set
    End Property
    Public Property FontFamily() As FontFamily
      Get
        Return fntfam
      End Get
      Set
        fntfam = value
      End Set
    End Property
    Public Property FontStyle() As FontStyle
      Get
        Return fntstyle
      End Get
      Set
        fntstyle = value
      End Set
    End Property
    Public Property FontWeight() As FontWeight
      Get
        Return fntwt
      End Get
      Set
        fntwt = value
      End Set
    End Property
    Public Property FontStretch() As FontStretch
      Get
        Return fntstr
      End Get
      Set
        fntstr = value
      End Set
    End Property
    Public Property FontSize() As Double
      Get
        Return emsize
      End Get
      Set
        emsize = value
      End Set
    End Property
    Public Property Origin() As Point
      Get
        Return ptOrigin
      End Get
      Set
        ptOrigin = value
      End Set
    End Property

    Public ReadOnly Property Geometry() As Geometry
      Get
        Dim formtxt As New FormattedText(Text, CultureInfo.CurrentCulture, FlowDirection.LeftToRight, New Typeface(FontFamily, FontStyle, FontWeight, FontStretch), FontSize, Brushes.Black)

        Return formtxt.BuildGeometry(Origin)
      End Get
    End Property

    Public ReadOnly Property PathGeometry() As PathGeometry
      Get
        Return PathGeometry.CreateFromGeometry(Geometry)
      End Get
    End Property

  End Class
End Namespace

   
    
    
    
    
  








Related examples in the same category

1.Using a Drawing resourceUsing a Drawing resource
2.Create DrawingBrush based on GeometryDrawing ResourcesCreate DrawingBrush based on GeometryDrawing Resources
3.Using a Geometry resourceUsing a Geometry resource
4.Using a FrameworkElement resourceUsing a FrameworkElement resource
5.Disabling sharing for resourceDisabling sharing for resource
6.Referencing a Style resourceReferencing a Style resource
7.Populating a ResourceDictionary from XAMLPopulating a ResourceDictionary from XAML
8.Resources from markupResources from markup
9.Define a static ImageBrush resourceDefine a static ImageBrush resource
10.Use Resource to fill an EllipseUse Resource to fill an Ellipse
11.Use Resource to fill a ButtonUse Resource to fill a Button
12.Load resource from another file
13.Vertical reflected LinearGradientBrush static resourceVertical reflected LinearGradientBrush static resource
14.Create Reusable ShapesCreate Reusable Shapes
15.Reference a ResourceDictionary in a Different Assembly
16.Named ThemeNamed Theme
17.Using resources to define global stylesUsing resources to define global styles
18.EllipseGeometry as ResourceEllipseGeometry as Resource
19.Set Rectangle size with ResourcesSet Rectangle size with Resources
20.Find Control Styles with FindResource()Find Control Styles with FindResource()
21.Find Resource with FindResourceFind Resource with FindResource
22.Retrieving assembly manifest resources
23.Get Resource Names from AssemblyGet Resource Names from Assembly
24.Add Event handler in Panel ResourceAdd Event handler in Panel Resource
25.Dynamic ResourceDynamic Resource
26.Localizable Application by putting localized resource in XamlLocalizable Application by putting localized resource in Xaml
27.Load Assembly ResourcesLoad Assembly Resources
28.BitmapImage as ResourcesBitmapImage as Resources
29.Cropped image as Resource
30.Load Xaml ResourceLoad Xaml Resource
31.Use Resources.Add to add static resouce from codeUse Resources.Add to add static resouce from code
32.Event Setter from ResourcesEvent Setter from Resources
33.Get resource in code as StoryboardGet resource in code as Storyboard