Przykład — Pokaż lub ukryj steruje dynamicznie w oknie dialogowym Data Standard

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ą.

Przykład

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 
  }
}