Path with Shadow : Path « 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="Shadow">
            <Canvas>
                <Path Fill="DarkGray"
                      Data="{Binding Source={StaticResource txtShadow},Path=Geometry}"
                      Canvas.Left="12" Canvas.Top="12" />
                <Path Stroke="Black" Fill="White" 
                      Data="{Binding Source={StaticResource txtShadow},Path=Geometry}" />
            </Canvas>
        </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 Path With Shadow








16.70.Path
16.70.1.Trivial PathTrivial Path
16.70.2.Path DataPath Data
16.70.3.A Path based on Path.Data, PathGeometry and LineSegmentA Path based on Path.Data, PathGeometry and LineSegment
16.70.4.Path StrokeDashArrayPath StrokeDashArray
16.70.5.Sample ArcSample Arc
16.70.6.Four Overlapping CirclesFour Overlapping Circles
16.70.7.Path IntersectPath Intersect
16.70.8.Closed PathFigureClosed PathFigure
16.70.9.PathGeometry FigurePathGeometry Figure
16.70.10.Path with OuterGlowBitmapEffectPath with OuterGlowBitmapEffect
16.70.11.Path with M, C and ZPath with M, C and Z
16.70.12.Path and PolyLineSegment.PointsPath and PolyLineSegment.Points
16.70.13.Double animation with pathDouble animation with path
16.70.14.Matrix animation with pathMatrix animation with path
16.70.15.Create a polyline with a PathGeometryCreate a polyline with a PathGeometry
16.70.16.Expanding CirclesExpanding Circles
16.70.17.Simple ArcSimple Arc
16.70.18.Draw a Curved Line with PathFigure, LineSegment, ArcSegmentDraw a Curved Line with PathFigure, LineSegment, ArcSegment
16.70.19.LineSegment inside a PathFigureLineSegment inside a PathFigure
16.70.20.ArcSegment inside a PathFigureArcSegment inside a PathFigure
16.70.21.Set SweepDirection=Clockwise for ArcSegmentSet SweepDirection=Clockwise for ArcSegment
16.70.22.PathFigure and BezierSegmentPathFigure and BezierSegment
16.70.23.Path with BlurBitmapEffectPath with BlurBitmapEffect
16.70.24.Path with DropShadowBitmapEffectPath with DropShadowBitmapEffect
16.70.25.Path based on GeometryGroupPath based on GeometryGroup
16.70.26.Set for RenderTransformOrigin PathSet for RenderTransformOrigin Path
16.70.27.Use TransformGroup to group transformationsUse TransformGroup to group transformations
16.70.28.Transform PathTransform Path
16.70.29.Grouped ShapesGrouped Shapes
16.70.30.FileRule = Nonzero for PathFileRule = Nonzero for Path
16.70.31.FileRule = EvenOdd for PathFileRule = EvenOdd for Path
16.70.32.Path with EllipseGeometriesPath with EllipseGeometries
16.70.33.One Path with two EllipseGeometriesOne Path with two EllipseGeometries
16.70.34.Path with ShadowPath with Shadow
16.70.35.Dotted PathDotted Path