たとえば、Data Standard ダイアログで動的にコントロールを非表示

これを非表示にして、PowerShell コードによってコントロールの表示を有効 / 無効にすることができます。

たとえば、非表示 / 表示を切り替える、または特定のファイル タイプに対して有効 / 無効コントロール、または他のプロパティの値によって以下のことができます。

コントロールは、PowerShell コードでは、同時に操作することができます。これらのコントロールには、関数 $dsWindow.FindName("thenameofyourcontrol") を介してアクセスします。この capaibility の前提条件は、コントロールは、一意の名前とアトリビュート名を公開します。

この例では、ファイルを編集するときに、タイトル テキストボックスが無効になります。プロパティのタイトルのテキスト ボックスは次のように、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 
  }
}