問題タブ [collectioneditor]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2205 参照

.net - 実行時のコレクション エディター

プロパティ グリッドを使用して名前と値のペアを編集するアプリケーションに取り組んでいます。私のクラス ファイルのプロパティの一部は、ListDictionary コレクションです。Collection Editor を実行時に動作させるプロパティ宣言で適用できる Editor 属性はありますか? そうでない場合、実行時に使用するために ComponentModel.Design.CollectionEditor から継承することは可能ですか? コレクションの値を追加、削除、編集できる必要があります。どうもありがとう、テリー

0 投票する
2 に答える
1451 参照

c# - PropertyGrid - Ilist Collection Remove が期待どおりに起動しない

IList を実装するコレクション オブジェクトがあります。コレクション内では、リストを使用してアイテムを収集しました。PropertyGrid 内 (実行時) で適切にバインドされ、コレクション エディターが開きます。編集することも、項目を適切に追加することも、コレクション クラスで使用されているこれらのメソッドをキャッチすることもできます。

ただし、アイテムを削除しようとすると、コレクションから削除されますが、コレクションから IList.Remove または IList.RemoveAt が使用されているようには見えません。削除されたアイテムは、データベースから削除されることも意図されています。この動作は、Remove メソッドで実装します。

また、remove メソッドからすべてのロジックを削除し、新しい NotImplmented() をスローして残しましたが、これらはまったく発生しません。

また、独自の CollectionEditor によって実装されていますが、オブジェクトにフックする方法がまだわかりません。

では、関連するメソッドを見つけるにはどこを探すべきですか? アイテムの動作も変更する必要がありますか?

0 投票する
1 に答える
316 参照

user-controls - CollectionEditorで既存のアイテムが削除されても、UserControlプレビューは更新されません

デフォルトのCollectionEditorでこの問題に直面しています。

コレクションエディタにアイテムを追加すると、ユーザーコントロールにアイテムが長方形として表示されます。しかし、すでに存在していたアイテムを削除すると、[OK]または[追加]ボタンをクリックするまでプレビューは更新されません。

以下に同じコードを提供しました。

作成する手順:

  1. fromにコントロールを追加します。
  2. CollectionEditorを開いて追加することにより、コントロールのCollectionプロパティを編集します(たとえば、3。アイテム。(アイテムがコントロールに追加されるのを確認します)。プレビューは適切に更新されます。
  3. 次に、[OK]ボタンをクリックします。
  4. CollectionEditorを再度開き、既存のアイテムを削除してみてください。プレビューでアイテムが削除されることを期待します。ただし、[追加]ボタンまたは[OK]ボタンをクリックするまで、削除されたアイテムはコントロールに残ります。:(

これはCollectionEditorクラスのバグですか?

ソースコード:

TestCollectionClass.cs

TestComponent.cs

CollectionEditorTestUserControl.cs

0 投票する
2 に答える
3102 参照

c# - CollectionEditor の list/listbox/collection に項目をプログラムで追加する方法は? [変更]

カスタム コレクション エディターがあり、プログラムでそのリスト (コレクション) にアイテムを追加して、リスト ボックスに表示できるようにしたいと考えています。どうすればそれができますか?CollectionEditor の AddItems メソッドについては知っていますが、コレクション オブジェクトをパラメーターとして受け取りますが、CollectionEditor の内部リスト オブジェクトを取得する方法がわかりません... :/

[更新]うーん..適切なメソッド名は「SetItems」です[/更新]

[更新 2] 私がやろうとしていることのソース コード...

[/更新 2]

0 投票する
1 に答える
1724 参照

.net - コントロールコレクションのデザイン時エディターのサポート

コントロールのコレクションを表すプロパティをコンポーネントに追加し、コレクションに属するコントロールを簡単に選択できるコレクションエディターを用意したいと思います。VSは、次のコードを使用して、私が望むことをほぼ自動的に実行します。

デフォルトのCollectionEditorを取得し、コントロールを追加および削除でき、コレクションがシリアル化されます。

問題は、新しいコントロールを追加したくないということです。フォームで使用可能な他のコントロールから複数のコントロールを選択したいのです。これを行う簡単で標準的な方法はありますか、それとも独自のコレクションエディターを作成してコントロールコレクションを実行する必要がありますか?

コレクションエディター(UITypeEditors)やその他のデザイン時のトピックに関する資料はたくさんありますが、この正確な動作を示すリンクを見つけることができなかったので、助けていただければ幸いです。

0 投票する
1 に答える
684 参照

c# - GenericItems を含む PropertyGrid GenericList

抽象ジェネリック クラスから派生したオブジェクトの PropertyGrid (およびその CollectionEditor) の値を表示および編集する方法はありますか? 「IFilter´1」または「BaseFilter'1」 IFilter はインターフェイスであり、BaseFilter は抽象クラスです。

このリストに含まれるすべてのオブジェクト:

IFilter を実装する抽象クラスが 1 つあります。

そして、FilterBase のいくつかの特殊な実装

このような「SimpleBool」クラスを上記の定義済みリストに追加すると、PropertyGrid にプロパティが表示されません。しかし、非ジェネリック タイプでジェネリック リストを定義すると、すべて正しく表示されます。

この作業を行うためのソリューションはありますか? TypeConverter と独自の CollectionEditor を追加しようとしました。明らかに運がない =(

0 投票する
1 に答える
2247 参照

c# - PropertyGrid コレクションをリストに制限する方法

さて、PropertyGrid とコレクションの使用に関するいくつかの質問を読みました。しかし、どのように/どのように機能するかを理解するのに苦労[TypeConverter]しています。私は MSDN が公開している小さな宣伝文句を読みましたが、率直に言って、この貧弱で独学のプログラマーには少し欠けています。

だから、ここに私が持っているものがあります。最初のコレクション:

コレクション内のオブジェクト:

ModuleData オブジェクトと BatchData オブジェクトの両方を記述する項目を含む ListView コントロールがあります。ListView から BatchData 項目を選択すると、予想どおり、PropertyGrid にコレクション エディターが表示されます。コレクション エディターを、ListView コントロールにリストされている ModuleData 項目のみに制限する方法はありますか? 理想的には、(ListView からの) BatchData アイテムを BatchData コレクションに追加したくありません。特に、コレクションは BatchData オブジェクト タイプに対して「型指定」されていないためです。

さらにコード サンプルが必要な場合は、スニペットを編集して喜んで差し上げます。

わかりやすくするために、ModuleData は、指定されたアセンブリ内のクラスをインスタンス化するために必要なデータを保持するカスタム クラスです。含まれているのは、フィールドとパブリック/内部プロパティだけです。私がやりたいことは、プロパティ グリッド コントロールでアセンブルされたコレクション エディターを使用して、ModuleData オブジェクトを BatchDataModuleコレクションに追加することです。追加できる ModuleData オブジェクトは、ListView コントロールに一覧表示されます。

編集:: List<ModuleData>継承を削除しました。

更新: カスタム コレクション エディターを作成する場合、それは独自のカスタム フォーム/ダイアログを作成することを意味しますか? 次に、基本的に、UITypeEditor の属性と継承を通じて、カスタム コレクション ダイアログを表示するための情報をプロパティ グリッドに提供しますか?

0 投票する
2 に答える
1918 参照

c# - プロパティグリッド、.net、winformsでカスタム読み取り専用コレクションを編集する際の問題

ObjectModel.Collectionから派生したカスタムコレクションがあります。

COLタイプのプロパティで読み取りと書き込みが有効になっている場合に正常に機能する独自のコレクションエディタがあります。ただし、プロパティをReadOnlyに変更すると、[エディタを開く]ボタンがプロパティグリッドに表示されなくなります。

As a test, I override my custom editor with the CollectionEditor, and that worked fine.

So, my question is, what check is the property grid making, that CollectionEditor passes but my collection editor fails?

There's not much to override in UITypeEditor, so I fear there's some hard coding going on with regards to CollectionEditor.

Cheers.

ETA:

I've answered the question below.

0 投票する
1 に答える
1320 参照

c# - PropertyGrid での CollectionEditor の変更

私は現在、基本クラスである Call を含むリストを持っています。Call の派生クラスをリストに追加する場合は、次の手順を実行する必要があります。

私の質問は、リストに含めることができるすべての可能なタイプを含む Type[] をマークアップする場所に移動することですか? CustomCollectionEditor クラスに以下を追加することを考えましたが、うまくいきません。

CustomCollectionEditor がどのクラスを認識する必要があるかを DisplayList クラスで何らかの方法でマークアップできれば理想的です。

0 投票する
1 に答える
982 参照

c# - .NETCollectionEditorタイプに関する質問

CollectionEditorの内部動作メカニズムを平易な英語で教えてくれるのは誰ですか?

私はすべての仮想関数を実装し、それぞれにステップインしました。意図したアルゴリズムの手がかりはまだ得られていません。Webを検索したところ、CollectionEditorタイプに関する大量のコンペイント、さらにはバグが見つかりました。

私は、CollectionEditorを完全な混乱として考えています。