Jest możliwe, aby pokazać / ukryć i Włącz / wyłącz steruje przez kod PowerShell.
Na przykład można wyświetlić / ukryć lub Włącz / wyłącz elementy sterujące dla pewnych typów pliku, albo zależy od wartości innej właściwości.
Kontrolki mogą być zmieniane w dowolnym momencie w PowerShell. Dostęp do tych elementów sterujących można uzyskać za pomocą funkcji $dsWindow.FindName("NazwaTwojegoElementuSterującego"). Warunek dla tego capaibility jest, że sterowanie zostanie wyświetlona nazwa atrybutu z niepowtarzalną nazwą.
W tym przykładzie należy wyłączyć tytuł TextBox podczas edycji pliku. Obiekt TextBox tytułu właściwości otrzyma atrybut Name txtTitle, jak poniżej:
<TextBox Name="txttitle" ....
Wewnątrz funkcji InitializeWindow sprawdzimy, czy okno dialogowe jest oknem dialogowym pliku i czy jest w trybie edycji.
function InitializeWindow
{
$dialogName = $dsWindow.DataContext.GetType().Name
if($dialogname--eq-"fileviewmodel"--and-$dswindow.name--eq-"filewindow")
{
$dsWindow.FindName("txttitle").IsEnabled=$false
}
}
Jak widać, dzięki FindName("NazwaTwojegoElementuSterującego") można uzyskać dostęp do właściwości IsEnabled lub wszystkich innych właściwości, które ten typ elementu sterującego może oferować.
W ten sam sposób można zastosować w ramach obsługi zdarzeń, aby wpłynąć na zachowanie każdego elementu sterującego, podczas gdy użytkownik jest wprowadzanie danych.
Przykład CAD
W przypadku CAD, składnia jest taki sam, z wyjątkiem sprawdź, czy okno dialogowe Utwórz lub jest w trybie edycji.
Wewnątrz funkcji InitializeWindow sprawdzimy, czy okno dialogowe jest oknem dialogowym pliku i czy jest w trybie edycji.
function InitializeWindow
{
$dialogName = $dsWindow.DataContext.GetType().Name
if($Prop["_EditMode"].Value -eq $true)
{
$dsWindow.FindName("txttitle").IsEnabled=$false
}
}