小编Dan*_*Dan的帖子

将-Verbose状态传递给模块cmdlet

我有一个PowerShell模块,它封装了许多常用的业务功能.通常不会从控制台调用它; 相反,它的功能由导入模块的自动部署和管理脚本调用.

该模块包含一个记录功能,可以写入集中式日志记录位置.我还想加入Write-Verbose功能来写入控制台.

#'Start Script.ps1
#'----------------

Import-Module Corporate
Write-Logger 'Foo'
Run Code Online (Sandbox Code Playgroud)

我的限制是 - 在Corporate PowerShell模块中 - 我需要确定是否已使用-Verbose参数调用Script.ps1 .理想情况下,我希望确定代码完全在模块本身内.

这是一个例子:

[CmdletBinding()]
Param ()

New-Module -Name TempModule -ScriptBlock {
    function Test-ModuleVerbose() {
        [CmdletBinding()]
        Param ()

        PROCESS {
            $vb = ($PSCmdlet.MyInvocation.BoundParameters['Verbose'] -eq $true)
            Write-Host ("1: Module verbose preference: " + ($PSCmdlet.MyInvocation.BoundParameters['Verbose'] -eq $true))
            Write-Host ("2: Module verbose preference: " + $Script:VerbosePreference)
            Write-Host ("3: Module verbose preference: " + $VerbosePreference)
        }
    }
} | Out-Null

function Test-Verbose() {
    [CmdletBinding()]
    Param () …
Run Code Online (Sandbox Code Playgroud)

powershell powershell-module

11
推荐指数
2
解决办法
8767
查看次数

如何确定DockPanel中包含的所有项目的高度

我有一个DockPanel,我以编程方式添加TextBlock控件.DockPanel定义如下:

    <DockPanel x:Name="staHeadlines" Margin="0,10,0,0"
     ScrollViewer.VerticalScrollBarVisibility="Disabled"/>
Run Code Online (Sandbox Code Playgroud)

TextBlocks添加到DockPanel,如下所示:

    For count = headlinePosition To maxHeadlineCount
        Dim tb As New TextBlock With {.Text = headlines.Item(count), 
            .FontFamily = New FontFamily("Segoe UI Semilight"), .FontSize = "22",
            .TextWrapping = TextWrapping.Wrap, .Margin = New Thickness(0, 10, 0, 10)}
        DockPanel.SetDock(tb, Dock.Top)
        staHeadlines.Children.Add(tb)
    Next
Run Code Online (Sandbox Code Playgroud)

DockPanel用于显示新闻标题,每个TextBlock一个.我想添加足够的TextBlock来填充可用空间,但不要让底部项溢出DockPanel边界.由于TextBlock的高度是由内容定义的 - 我事先并不知道 - 我需要能够计算添加到DockPanel的所有项目的高度,以确定添加的最后一个子项是否会溢出DockPanel的边界并出现剪裁.

有任何想法吗?

.net vb.net wpf xaml

5
推荐指数
1
解决办法
123
查看次数

标签 统计

.net ×1

powershell ×1

powershell-module ×1

vb.net ×1

wpf ×1

xaml ×1