[解決済み] XAMLバインディンググループ
2022-01-28 09:11:33
質問
データグリッドの3つのテキストボックスに基づいて、ある行が有効かどうかを計算する結合グループを作ろうとしています。
ValidationRuleクラスを作成し、データグリッドに配置しました。
<DataGrid.BindingGroup>
<BindingGroup Name="RowBindingGroup">
<BindingGroup.ValidationRules>
<util:MinMaxParValidationRule ValidationStep="CommittedValue" />
</BindingGroup.ValidationRules>
</BindingGroup>
</DataGrid.BindingGroup>
そして
<TextBox.Text>
<Binding Path="ParStockLevel" UpdateSourceTrigger="PropertyChanged" BindingGroupName="RowBindingGroup" />
</TextBox.Text>
私のバリデーションルールクラスは次のようになります。
public override ValidationResult Validate(object value, System.Globalization.CultureInfo cultureInfo)
{
ValidationResult result = ValidationResult.ValidResult;
BindingGroup bindingGroup = (BindingGroup)value;
StockInformationDVM row = (StockInformationDVM)bindingGroup.Items[0];
これで、アプリケーションを実行すると、検証ルールクラスに入る値は常にデータグリッドの最初の行になり、検証される行にはなりません (もちろん、最初の行を検証している場合は別です!)。
私はこれをやったことがなく、私が見つけた例はMVVMを使用していないので、そこに問題があるかもしれません。
どのように解決するのですか?
バインドグループを
DataGrid.ItemBindingGroup
ではなく
DataGrid.BindingGroup
:
<DataGrid.ItemBindingGroup>
<BindingGroup>
<BindingGroup.ValidationRules>
<util:MinMaxParValidationRule ValidationStep="CommittedValue" />
</BindingGroup.ValidationRules>
</BindingGroup>
</DataGrid.ItemBindingGroup>
そしてこの場合、実はバインディング・グループの名前を指定するのを省略することができます。この場合、バインディンググループの名前を指定する必要はありません。
関連
-
[解決済み】スクリプトクラスが見つからないので、スクリプトコンポーネントを追加できない?
-
[解決済み】ORA-01008: すべての変数がバインドされていません。これらはバインドされています。
-
[解決済み】リソースの読み込みに失敗した:ステータス500(内部サーバーエラー)のサーバーの応答)
-
[解決済み】MetadataException: 指定されたメタデータ・リソースをロードできない
-
[解決済み】Visual studio 2019がデバッグ時にフリーズする件
-
[解決済み】Unity 「関連するスクリプトを読み込むことができません」「Win32Exception: システムは指定されたファイルを見つけることができません"
-
[解決済み】Entity FrameworkからのSqlException - セッション内で他のスレッドが動作しているため、新しいトランザクションは許可されません。
-
[解決済み】OnCollisionEnter2Dが実行されない?
-
[解決済み】Nullableオブジェクトは値を持たなければならない?
-
[解決済み] AngularJSでデータバインディングはどのように機能するのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】エラー。「戻り値を変更できません」 C#
-
[解決済み】プログラム実行中に1秒待つ
-
[解決済み】コンパイルエラー「未割り当てのローカル変数を使用しています」が発生したのはなぜですか?
-
[解決済み】C#におけるtypedefの等価性
-
[解決済み】値が期待した範囲に収まらない
-
[解決済み】Entity FrameworkからのSqlException - セッション内で他のスレッドが動作しているため、新しいトランザクションは許可されません。
-
[解決済み】エラー「必要なフォーマルパラメータに対応する引数が与えられていない」を解決する?
-
[解決済み】「namespace」なのに「type」のように使われる。
-
[解決済み】WebResource.axdとは何ですか?
-
[解決済み】スレッド終了またはアプリケーションの要求により、I/O操作が中断されました。