Data Standard XAML ファイル

Data Standard のすべてのダイアログは、拡張子 .xaml (Extensible Application Markup Language)が付いたファイルが基準となります。XAML ファイルを修正して、Data Standard ダイアログをカスタマイズします。

概要

XAML ファイルは、Data Standard ダイアログのレイアウトを説明します。具体的には、どのコントロール(ラベル、テキスト ボックス、コンボ ボックスなど)を使用するか、コントロールをどの CAD または Vault プロパティとバインドするかなどです。

XAML ファイルは XML ファイルで、テキスト/XML エディタで編集することができます。無償の XML エディタでおすすめは、Microsoft XML Notepad です。XML の書式設定ができれば他のエディタでもかまいません。オートデスクは、編集で最高のエクスペリエンスを得られるよう Visual Studio (Express 以上)を推奨します。XAML の構文では、大文字と小文字は区別されるため、大文字と小文字がサポートされ、入力ミスをキャッチするエディタを使用する方法が最適です。

Data Standard のダイアログで、表示する情報量に差がある場合、または異なる情報を表示する必要がある場合は、XAML ファイルを編集します。Configuration フォルダの PS1 ファイルは、ダイアログの動作をコントロールします 。

このトピックでは、よく使用されるコントロールの簡単な説明が表示されます。これらのコントロール、およびその他のコントロールの詳細については、Microsoft のヘルプ ページを参照してください。

XAML ファイルの構成

XAML ファイルには複数のセクションがあり、最もよく使用するのがリソース、スタイル、およびコントロールです。

リソース セクションには、コントロール セクションで再使用される定義があります。会社の色が緑で表示されている場合は、コントロールに表示されるすべてのテキストが緑で表示されるよう定義することができます。

トリガはスタイル セクションにあります。トリガは、指定された場合(たとえば、新規レコードの作成や既存レコードの編集)にコントロールの表示や動作を定義します。しかし、より複雑な動作は、PS1 ファイルで定義されます。

コントロール セクション、またはレイアウトの領域は通常、コントロール <Grid> で始まります。グリッドは、Excel のテーブルのように、行と列にダイアログを分割します。デザインで必要な場合には、セルの分割や結合ができます。各セルには、簡単なテキストや文字入力テキストボックスのラベルなど、1 つまたは複数のコントロールを配置することができます。

レイアウト

XAML ファイルのレイアウトは、行と列のあるテーブルと似ています。このため、ダイアログやコントロールは動的です。つまり、マウスによりウィンドウをサイズ変更すると、コントロールが自動的にサイズ変更されることを意味します。また、座標を固定して作業することもできます。ただしこの場合、ダイアログがユーザによってサイズ変更されたり、一部のユーザが Windows のフォント設定を大きくすると、ダイアログのコントロールで座標は変わらないまま、オーバーラップしたり、ダイアログで利用可能なスペースを使用しない可能性があります。このため、テーブルの方法を使用するか、定義されたセル内のすべてのコントロールを展開することをお勧めします。

ダイアログはテーブルに似ているため、ダイアログを設計するときは、必要な数の列と行としてとらえます。通常は、列は 2 つで十分です。左側の 1 列をラベル用の固定幅、右側の 1 列をコントロール用の動的な幅とします。これは、既定のダイアログを作成する方法でもあります。必要な数の行によって、行の定義に従ってグリッドを定義します。グリッド内のコントロールはすべて、行と列(常に 0 から始まる)への参照があるため、これをもとにコントロールが表示されます。

構文

XML および XAML では、すべてのキーワードは山括弧で囲まれています(<キーワード>)。通常、定義ブロックは、<Grid> のようなキーワードで始まり、スラッシュで始まる同じキーワードで終了します(例: </Grid>)。1 行の文の場合、次のような構文も表示される場合があります: <Label ... />キーワードの属性を追加したり、他のキーワードをネストする場合は、ダイアログの構造を定義します。XAML は大文字と小文字が区別されるため、大文字と小文字の扱いに注意します。

最もよく使用されるコントロール

Grid

Label

TextBox

Button

Binding

Visual Studio を使用した XAML ファイルを編集する

Visual Studio を使用して、.xaml ファイルを編集することができます。Visual Studio では、要素を簡単に配置したり、スペル ミスを防止することができます。

注: このトピックの手順を実行するには、Visual Studio Express for Windows 以上が必要です。Visual Studio がない場合は、Microsoft のサイトからダウンロードできます。
Visual Studio での設定の例:
  1. Visual Studio をインストールしたら、アプリケーションを起動し、[新しいプロジェクト]フィールドをクリックします。
  2. [WPF アプリケーション]を選択し、新しいプロジェクトに任意の名前と場所を指定します。既定のパスを設定する必要もあります。パスを設定することで、Data Standard ダイアログを複数回にわたって変更しても、このプロジェクトを常に再利用することができます。

新しいプロジェクトを作成したら、[MainWindow.xaml]タブや[MainWindow.xam.cs]タブなどのタブが表示されます。これらのタブは必要ありません。.xaml ファイルの編集用に付属している環境で十分です。.xaml を編集するために、.xaml ファイルにリンクします。.xaml をプロジェクトに取り込む必要はありません。

  1. ソリューション エクスプローラーで、プロジェクトを右クリックし、[追加] > [既存の項目]の順に選択します。
  2. ソリューション エクスプローラーで、.xaml ファイルを参照し、[リンクとして追加]を選択します。
    注: .xaml ファイルが表示されない場合は、[追加]ボタンの上にあるファイルの種類を変更します。
  3. ソリューション エクスプローラーで、.xaml ファイルが表示されたら、.xaml ファイルをダブルクリックします。

    [読み込みで問題が発生しました]というエラーが表示されます。

  4. Visual Studio ウィンドウの下部にある[エラー一覧]で、アセンブリおよびプロパティまたはリソースが見つからないというエラーを特定します。
  5. ソリューション エクスプローラーに移動し、[参照設定]を右クリックします。
  6. [参照の追加]を選択します。
  7. [参照]タブを選択します。
    • dataStandard.UI.dll が格納されたパス: C:¥ProgramData¥Autodesk¥Inventor 2018¥Addins¥Data Standard。dataStandard.UI.dll を選択して、[OK]をクリックします。
    • CreateObject.DLL が格納されたパス: C:¥ProgramData¥Autodesk¥Vault 2018\Extensions\Data Standard。dataStandard.UI.dll を選択して、[OK]をクリックします。
    • Autodesk.Connectivity.Webservices.DLL が格納されたパス: C:¥Program Files¥Autodesk¥Vault 2018。dataStandard.UI.dll を選択して、[OK]をクリックします。
  8. CAD 用に変更する場合、ソリューション エクスプローラーで修正する .cfg ファイルを選択します。

デザイン ウィンドウでダイアログが表示されます。ダイアログ内の領域を選択すると、xaml ファイル内の対応する箇所にジャンプできます。フィールドを挿入または修正します。詳細については、「Data Standard ダイアログ」を参照してください。

ダイアログにフィールドを追加する

  1. 新しいフィールドを追加する場所を指定します。新しいプロパティは、どの行および列に表示されますか?
  2. コントロールを必要な位置に配置することができるよう、グリッドに新しい行を追加します。新しい列が必要な場合は、列を追加します。グリッド コントロールで、新しいコントロールが含まれている XAML ファイルに移動します。そのグリッドには、<Grid.RowDefinitions> および <RowDefinition .../> があります。新しい行を表示する <RowDefinition/> を新たに追加します。その値に対して、プロパティ Height を設定します。値は固定値または自動(最小スペース)または * (最大スペース)を設定します。
  3. <Grid> 領域内のその他のコントロールの近くに、ラベルやテキスト ボックスなどのコントロールを追加します。属性 Grid.Row および Grid.Column では、コントロールを配置する行と列を定義することができます。コントロールのバインドも定義します。これにより、コントロールとプロパティとの間でデータをやり取りできます。CAD 向けに変更する場合は、CFG ファイルのプロパティも設定する必要があります。
  4. 新しい行を追加すると、同じ行番号か、それ以下にあるコントロールはすべて、Grid.Row 属性の増分によって下に移動する必要があります。