Private/New-TextBlock.ps1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
function New-TextBlock
{
    param(
        [ref]$RefForm,
        $Text,
        $Name,
        $FontFamily,
        $FontSize,
        $FontColor,
        $ContentAlignment,
        $Margin = "0, 10, 0, 0"
    )

    $txtBlk = $null

    if ($text -and (-not [string]::IsNullOrEmpty($text.Trim()))) {
        $txtBlk = New-Object System.Windows.Controls.TextBlock
        $txtBlk.Text = $Text
        $txtBlk.FontFamily = $FontFamily
        $txtBlk.FontSize = $FontSize
        $txtBlk.Foreground = $FontColor
        $txtBlk.TextWrapping = 'Wrap'
        $txtBlk.VerticalAlignment = 'Center'
        $txtBlk.HorizontalAlignment = $ContentAlignment
        $txtBlk.TextAlignment = $ContentAlignment
        $txtBlk.Margin = $Margin

        if ($name) {
            $txtBlk.Name = $Name
            $RefForm.Value.Add($txtBlk.Name, $txtBlk)
        }
    }

    return $txtBlk
}