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






<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
WPF Text Geometry As Resource








16.125.Resource
16.125.1.Using a Drawing resourceUsing a Drawing resource
16.125.2.Create DrawingBrush based on GeometryDrawing ResourcesCreate DrawingBrush based on GeometryDrawing Resources
16.125.3.Using a Geometry resourceUsing a Geometry resource
16.125.4.Using a FrameworkElement resourceUsing a FrameworkElement resource
16.125.5.Disabling sharing for resourceDisabling sharing for resource
16.125.6.Referencing a Style resourceReferencing a Style resource
16.125.7.Populating a ResourceDictionary from XAMLPopulating a ResourceDictionary from XAML
16.125.8.Resources from markupResources from markup
16.125.9.Define a static ImageBrush resourceDefine a static ImageBrush resource
16.125.10.Use Resource to fill an EllipseUse Resource to fill an Ellipse
16.125.11.Use Resource to fill a ButtonUse Resource to fill a Button
16.125.12.Load resource from another fileLoad resource from another file
16.125.13.Vertical reflected LinearGradientBrush static resourceVertical reflected LinearGradientBrush static resource
16.125.14.Create Reusable ShapesCreate Reusable Shapes
16.125.15.Reference a ResourceDictionary in a Different AssemblyReference a ResourceDictionary in a Different Assembly
16.125.16.Named ThemeNamed Theme
16.125.17.Using resources to define global stylesUsing resources to define global styles
16.125.18.EllipseGeometry as ResourceEllipseGeometry as Resource
16.125.19.Set Rectangle size with ResourcesSet Rectangle size with Resources
16.125.20.Find Control Styles with FindResource()Find Control Styles with FindResource()
16.125.21.Find Resource with FindResourceFind Resource with FindResource
16.125.22.TextGeometry as ResourceTextGeometry as Resource
16.125.23.Retrieving assembly manifest resourcesRetrieving assembly manifest resources
16.125.24.Get Resource Names from AssemblyGet Resource Names from Assembly
16.125.25.Add Event handler in Panel ResourceAdd Event handler in Panel Resource
16.125.26.Dynamic ResourceDynamic Resource
16.125.27.Localizable Application by putting localized resource in XamlLocalizable Application by putting localized resource in Xaml
16.125.28.Load Assembly ResourcesLoad Assembly Resources
16.125.29.BitmapImage as ResourcesBitmapImage as Resources
16.125.30.Cropped image as ResourceCropped image as Resource
16.125.31.Load Xaml ResourceLoad Xaml Resource
16.125.32.Use Resources.Add to add static resouce from codeUse Resources.Add to add static resouce from code
16.125.33.Event Setter from ResourcesEvent Setter from Resources
16.125.34.Get resource in code as StoryboardGet resource in code as Storyboard