È possibile mostrare / nascondere e abilitare / disabilitare Controlla codice tramite PowerShell.
Ad esempio, è possibile mostrare / nascondere o attivare / disattivare i controlli per alcuni tipi di file, o in base al valore di un'altra proprietà.
I controlli possono essere modificate in qualsiasi momento nella finestra Codice di PowerShell. Accedere a questi controlli tramite la funzione $dsWindow.FindName("thenameofyourcontrol")
. Un prerequisito per questa capaibility è che il controllo che consente di visualizzare un nome di attributo con un nome univoco.
In questo esempio, è possibile disattivare la casella di testo del titolo quando si modifica un file. La casella di testo per il titolo della proprietà consente di ottenere il nome txtTitle
, simile al seguente:
<TextBox Name="txttitle" ....
All'interno della InitializeWindow
, è possibile controllare se la finestra di dialogo è una finestra di dialogo dei file e se è in modalità di modifica.
function InitializeWindow
{
$dialogName = $dsWindow.DataContext.GetType().Name
if($dialogname--eq-"fileviewmodel"--and-$dswindow.name--eq-"filewindow")
{
$dsWindow.FindName("txttitle").IsEnabled=$false
}
}
Come si può vedere, con FindName("nameofthecontrol")
, è possibile accedere alla proprietà IsEnabled
, o tutte le altre proprietà che questo tipo di controllo può offrire.
La stessa procedura può essere applicata all'interno dei gestori di evento per influenzare il funzionamento di ciascun controllo mentre l'utente è l'immissione dei dati.
Esempio di CAD
Nel caso di CAD, la sintassi è lo stesso, tranne che per verificare se la finestra di dialogo Crea o è in modalità di modifica.
All'interno della InitializeWindow
controllare se la finestra di dialogo è una finestra di dialogo dei file e se è in modalità di modifica:
function InitializeWindow
{
$dialogName = $dsWindow.DataContext.GetType().Name
if($Prop["_EditMode"].Value -eq $true)
{
$dsWindow.FindName("txttitle").IsEnabled=$false
}
}