インターフェース開発を見てください!1つのトリックは、プロパティグリッドカスタムエディターを使用することを教えています

DevExpress v20.1フルバージョンをダウンロードDevExpress v20.1     中国語リソース獲得

最新のコントロールガントチャートであるDevExpress v20.1の使用方法を教える40分で今すぐ登録>>

DevExpress Winformsコントロールには  、140以上のUIコントロールとライブラリ組み込まれており、スムーズで美しく、使いやすいアプリケーションを構築するのに最適です。体験してみませんか?クリックしてダウンロード>>

発生した問題

タイプのカスタムエディターがDefaultEditors属性を使用してPropertyGridに追加されると、そのタイプにEditorAttributeがない限り、エディターは無効になります(エディターの実際のタイプは重要ではないようです)。

DevExpressバージョン18.1では、Color拡張機能ColorEditorの使用は正常に機能しますが、v19.2では、CustomColorエディターが無効になり、CustomColorAttrエディターが有効になります。

解決

公式の技術チームがこのエラーを修正し、操作を変更しました:  PropertyGridControl-Readonly属性はカスタムエディターでは機能しません標準のDescriptorContext.IsValueEditableメソッドは以前は考慮されていなかったため、誤った結果が発生しました。コードでこのメソッドを正しく使用してください。

オブジェクトを標準のPropertyGridに割り当てようとすると、DescriptorContext.IsValueEditableメソッドがfalseを返すため、同じ結果が得られます。次に、このメソッドはfalseを返します。これは、カスタムクラスに使用される型コンバーターが文字列値をユーザーの型に変換できないためです。ColorEditorは、このタイプの変換を実行できるColorConverterを使用します。

したがって、カスタムクラスの編集を有効にするには、文字列値から型への変換をサポートする型コンバーターを適用する必要があります。


DevExpress Technical Exchange Group 2:775869749グループディスカッションへようこそ

おすすめ

転載: blog.csdn.net/AABBbaby/article/details/108279611
おすすめ