示例 - 在 Data Standard 对话框中动态显示或隐藏控件

它可以通过 PowerShell 代码显示/隐藏和启用/禁用控件。

例如,您可以为某些文件类型显示/隐藏或启用/禁用控件,具体取决于其他特性的值。

在 PowerShell 代码中可以随时操纵控件。通过函数 $dsWindow.FindName("thenameofyourcontrol") 访问这些控件。此功能的前提条件是,您的控件显示唯一的属性名称。

示例

对于该示例,我们将在编辑文件时禁用“标题”文本框。该特性标题的文本框将获取名称 txtTitle,如下所示:

<TextBox Name="txttitle" ....

InitializeWindow 中,我们将检查该对话框是否为文件对话框,以及它是否处于编辑模式。

function InitializeWindow
{
  $dialogName = $dsWindow.DataContext.GetType().Name
  if($dialogname--eq-"fileviewmodel"--and-$dswindow.name--eq-"filewindow")
  {
    $dsWindow.FindName("txttitle").IsEnabled=$false
  }
}

如您所见,使用 FindName("nameofthecontrol"),我们可以访问 IsEnabled 特性或此类型控件可能提供的所有其他特性。

可以在事件处理程序中应用相同的方法,以在用户输入数据时影响每个控件的行为。

CAD 示例

在 CAD 中,语法是相同的,除了会检查对话框是处于创建模式还是编辑模式。

InitializeWindow 中,我们将检查该对话框是否为文件对话框,以及它是否处于编辑模式:

function InitializeWindow 
{
  $dialogName = $dsWindow.DataContext.GetType().Name
  if($Prop["_EditMode"].Value -eq $true)
  {
    $dsWindow.FindName("txttitle").IsEnabled=$false 
  }
}