可以透過 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
}
}