範例 - 在「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 
  }
}