UserControls の 1 つでデータを表示する (編集しない) ことを目的とした多数のテキスト ボックスを無効にしようとしています。ただし、何らかの理由で textBoxes を適切に無効にすることができません。
"ApplyAuthorization on readWriteAuthorization" を true に設定し、textBoxes は正しいプロパティにデータバインドされています。
CanWriteProperty
また、オブジェクトの に次の行を追加しました。
if (propertyName == OpeningDateProperty.Name) return false;
if (propertyName == ChangeDateProperty.Name) return false;
if (propertyName == CloseDateProperty.Name) return false;
return base.CanWriteProperty(propertyName);
ここで何が間違っているのかわかりません。私は最近、他の UserControls にほとんど同じことを問題なく実装しました...
C# .NET (Visual Studio 2008) で Windows フォームを使用しています。
編集:コード スニペットとプロパティは、顧客オブジェクトから取得されます。日付は、顧客アカウントの開設、最終変更、および閉鎖を表します。それらはまったく編集されることは想定されておらず、実際、古いソリューションでは textLabels で表されますが、テキスト ボックスを使用して、プロパティの CanWriteProperty を false にしたいと考えています。
情報が不足しているかもしれないことは承知していますが、このプロセスで忘れていた可能性があるものを探しています。
編集:私たちはCSLAも使用していますが、これは私たちがこのようにしたい理由と関係があると思います(私はこの全体が初めてです)。
編集(解決策):以下の私の回答でわかるように、問題は、私がCurrentItemChanged
すべきようにイベントを設定していなかったことです。