プロパティのバインディングをチェックする¶
Binding check を使用すると、現在のソリューション内のノードからプロパティのバインディングを収集し、レポートをエクスポートできます。レポート内のバインディング式、状態、ノードパスを使用して、バインディングを確認します。
このツールは、プロジェクト全体のサマリーと、プロジェクトごとの詳細なワークシートを含む .xlsx レポートを作成します。また、バインディングの有効状態、アクティブ状態、およびレポートの場所を Kanzi Studio のログに出力します。
このチェックでは、バインディング式の変更、バインディングの有効化または無効化、問題の自動修正は行いません。
チェックの範囲¶
チェックの対象は、現在のソリューション内のすべてのプロジェクトです。ツールは各プロジェクトで、Screen の RootNode2D ノードツリーと Prefab Library 内のノードをチェックします。レポートには、空でないバインディングごとに 1 つのレコードが含まれます。バインディングを持たないノードはリストされません。
チェックの実行¶
現在のソリューション内のバインディングをチェックするには、以下の手順に従います。
チェックするプロジェクトとバインディングが意図した状態になっていることを確認します。
Binding check を選択します。
ダイアログで、レポートの保存先ディレクトリを選択します。
ツールがノードの走査とレポートの書き込みを完了するまで待ちます。
Log で
Excel file saved:を探し、その後に続くファイルパスを確認します。レポートを開きます。まず NotBindings を確認し、その後、必要に応じて各プロジェクトのワークシートを確認します。
出力ファイル¶
このツールは、選択したディレクトリにレポートを保存し、ファイル名にはローカルの日付と時刻を使用します:
binding_check_yyyyMMdd_HHmmss.xlsx
通常、実行するたびにタイムスタンプ付きの新しいファイルが作成されます。
レポートの構造¶
NotBindings サマリーワークシート¶
NotBindings は最初のワークシートです。優先的に確認できるように、すべてのプロジェクトから - が付いたバインディングを集めています。
コラム (Column) |
内容 |
|---|---|
Project Name |
バインディングを含むプロジェクトの名前。 |
Node Name |
バインディングのターゲットプロパティの名前。 |
Binding Code |
バインディング式。 |
Is Checked |
現在のステートマーカー。このワークシートでは |
Node Path |
バインディングを含むノードの KZB URL パス。 |
注釈
NotBindings は、バインディングのないノードのリストでも、確定したエラーのリストでもありません。イネーブルかつアクティブの両方を満たしていない既存のバインディングが含まれ、意図的に無効にしたバインディングも含まれます。
プロジェクトのワークシート¶
このツールは、プロジェクトごとにそのプロジェクト名のワークシートを作成します。各ワークシートには、チェック範囲内のすべてのバインディングが、O と - のレコードを含めて一覧表示されます。
コラム (Column) |
内容 |
|---|---|
Node Name |
バインディングのターゲットプロパティの名前。 |
Binding Code |
バインディング式。 |
Is Checked |
現在のバインディングのステートマーカー: |
Node Path |
バインディングを含むノードの KZB URL パス。 |
複数のバインディングを持つノードは、複数のローとして出力されます。Node Path を使用してノードを見つけ、次にターゲットプロパティ名を使用してバインディングを見つけます。
チェックステートについて¶
このツールは、IsBindingEnabled と IsBindingActive からステートを判断します:
IsBindingEnabled |
IsBindingActive |
チェック済み (Is Checked) |
意味 |
|---|---|---|---|
|
|
|
バインディングは現在イネーブルかつアクティブです。 |
|
|
|
バインディングはイネーブルですが、現在アクティブではありません。 |
|
|
|
イネーブルとアクティブのステートが異なります。ログとノードのコンテキストを確認してください。 |
|
|
|
バインディングは現在無効で、非アクティブです。 |
O は大文字のアルファベットの O で、数字のゼロではありません。
Is Checked はツールが生成するステートマーカーであり、ユーザーが確認のために使用するチェックボックスではありません。
注釈
O は、読み取り時にバインディングがイネーブルかつアクティブであったことを示すだけです。式が意図した結果を生成することを証明するものではありません。- が付いたバインディングについては、変更する前にそのバインディングの使われ方を確認してください。
ログを表示する¶
プロジェクトの詳細をチェックしている間、このツールは次のバインディング情報を Log に書き込みます:
ターゲットプロパティ名。
バインディング式。
enable: バインディングがイネーブルかどうか。active: バインディングがアクティブかどうか。path: ノードのパス。
ログのフォーマットは次のとおりです。
CheckNode Name:<property name>, Binding Code: <expression>, enable: <True/False>, active: <True/False>, path:<node path>
このツールは、走査したアイテムのタイプもログに記録します。レポートが正常に保存されると、次のように出力します。
Excel file saved: <full report path>
レポートでは、その他 3 つのステートの組み合わせはすべて - と表示されます。これらを区別するには、ログの enable と active を確認します。
レポートからバインディングを確認する¶
レポートのバインディングを見つけて確認するには、次の手順に従います。
NotBindings を開きます。
Project Name を使用してプロジェクトを特定します。
Node Path を使用してノードを見つけます。
Node Name のプロパティ名を使用して、バインディングのターゲットプロパティを見つけます。
Binding Code をノードのエクスプレッションと比較します。
ログの
enableとactiveを確認します。バインディングが意図的に無効化されているのか、それともその参照、エクスプレッション、使用コンテキストを調査する必要があるのかを判断します。
変更を加えた場合は、再度 Binding check を実行し、新しいレポートを確認します。
新しいチェックを実行すると新しいレポートが作成され、以前のレポートはアップデートされません。レポートのセルを編集しても、Kanzi Studio プロジェクトのバインディングは変更されません。