Private/New-TextBlock.ps1

function New-TextBlock
{
    param(
        [ref]$RefForm,
        $Text,
        $Name,
        $FontFamily,
        $FontSize,
        $FontColor,
        $BackgroundColor,
        $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.Background = $BackgroundColor
        $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
}