問題タブ [propertygrid]

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 に答える
2127 参照

.net - propertygridgriditemタグの設定方法

クラスのプロパティを反映するPropertyGridがあります。

PropertyValueChangedイベントを監視していて、PropertyValueChangedEventArgsが変更されたGridItemを提供していることに気付きました。

そのGridItemには、取得できるTagプロパティがあります。GridItemのTagプロパティを値に設定する方法がわかりません。

GridItemのTagプロパティを設定するにはどうすればよいですか?

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

c# - .Net プロパティ グリッド。グリッドがオブジェクトを別の方法で操作できるようにする方法はありますか

私が理解したように、プロパティグリッドには、反射を使用してプロパティを抽出することで操作できるオブジェクトが与えられます。

私の問題は、実行時に決定されるパラメーターのセットがあるため、このセットを表すプロパティを持つクラスを静的に作成できないことです。

私はこの問題を解決するために 2 つの考えを持っていますが、どちらも複雑でおそらく多くの時間を消費します。1 つは Reflection Emit を使用してクラスを動的に定義する方法で、もう 1 つは C# ソース ファイルを動的にビルドし、CodeDom を使用してコンパイルする方法です。

プロパティ グリッドは、私の問題に適した別の方法 (反射を使用してオブジェクトのプロパティを抽出する以外) で動作できますか?

いいえの場合、私のために仕事をすることができる他のコントロールを知っていますか?

私が最初からプロパティ グリッドを使用した理由は、一般的なタイプに対して非常に優れたデータ取得 UI を提供する機能であったと言いたいです。可能であれば、それらを自動的に取得したいと思います。

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

c# - PropertyGridの左側のコレクションエディター/ビューの幅を変更する

文字列が長いものは、スクロールバーで使用できないビューを表示するだけです。

コレクションエディターの幅は-designによって固定されていますか?また、この素晴らしいプレゼンテーションにスプリッターを導入できますか?

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

c++ - QPropertyEditorのランタイム動的プロパティ

Qt-Apps.orgのQPropertyEditorを使用しています。

プロパティの量が実行時に動的である、公開されたプロパティを持つクラスを作成することは可能ですか?したがって、たとえば、コンパイル時に不明な任意の長さのfloatのベクトルを表すクラスがあります。だからあなたは

クラスメンバーとして。これをQ_PROPERTYマクロを使用してプロパティとして公開する方法。したがって、最後に、プロパティエディタウィジェットに次のビューを表示したいと思います。

  • 私のクラス
    • myFloats[0]の値
    • myFloats[1]の値
    • myFloats[2]の値......。

前もって感謝します!

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

c# - 別のプロパティから選択した値のインデックスを格納するプロパティを作成するにはどうすればよいですか?

次の問題についてサポートが必要です。

2つのプロパティを持つクラスがあります。

可能な値は、選択可能な値のリストを格納します。SelectedValueには、実際に選択された値のインデックスが含まれます。

この状態では、プロパティエディタに選択した値のインデックスが表示されます。列挙型プロパティで使用されるのと同じスタイルである、プロパティグリッドのコンボボックスを使用して値を選択したいと思います。コンボボックスのリストは、PossibleValuesプロパティから入力されます。

この記事の助けを借りて(http://www.codeproject.com/KB/cpp/UniversalDropdownEditor.aspx)PossibleValuesプロパティの値を使用して、プロパティグリッドにコンボボックスを表示するカスタムエディターを作成できました。値を選択することもできますが、それでもプロパティグリッドには、値自体ではなく、値のインデックスが表示されます。

これはエディターの変更されたソースです(元はCodeProjectからのものです):

もちろん、いくつかの状況を正しく処理するには、さらに変更を加える必要があります(たとえば、PossibleValuesが空です)。

では、プロパティエディタでSelectedValueの代わりにPossibleValues [SelectedValue]を表示することは可能ですか?

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

c# - オブジェクトを UITypeEditor に渡す

私は現在、PropertyGrid を使用してユーザーがクラスの一部を編集できるようにしたいと考えていますが、ユーザーが使用する UITypeEditor にオブジェクトを渡すことで壁にぶつかりました。ユーザーがドロップダウンを押したときに、既に読み込まれているテクスチャのリストボックスを表示して選択できるようにしたいと考えています。アプリケーションがまだ読み込まれていないテクスチャを使用したい場合は、ボタンをクリックしてファイル ダイアログから選択できます。ここで意味をなさない場合は、次の形式のモックを使用します。

ドロップダウン画像.

私の問題:リストボックスを埋めるには、UITypeEditor からリソースのリストを管理するクラスにアクセスする必要があります。

今、私は自分のクラスの作成時に管理オブジェクトへの参照を与えることで、この問題を自分のクラスで解決しました。UITypeEditor では、その参照を使用して必要なものにアクセスします。ただし、XNA Texture2D クラスなど、私が作成していないクラスに対してはこれを行うことはできません。

私が使用しているクラスは次のようになります。

私は自分のオプションを見てきましたが、それらは次のようです:

  1. 管理クラスを静的にします。

私は本当にこれをしたくありません。各リソースは異なる方法でロードされるため、いくつかの管理クラスがあります。これらの前に作成する必要があり、渡されるクラスもあります。

  1. 管理クラスをシングルトンにします。

これも本当はやりたくない。問題を「解決」するのではなく「隠す」のは、手早く汚い方法のように思えます。また、将来、シングルトンが排除するいくつかの管理クラスを持つオプションが必要になるかもしれません。

  1. 管理クラスとそのターゲット (XNA Texture2D など) への参照を保持するラッパー クラスを作成します。

これは、現在、私が考えていることです。それは非常に簡単で迅速に実行できますが、それについて何かが私を悩ませていますが、何がわかりません。

UITypeEditor に必要なものを渡すための上記またはその他の方法について何か考えはありますか?

読んでくれてありがとう。

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

c# - フォームを開くカスタムPropertyGridエディターアイテムを作成するにはどうすればよいですか?

List <>(私のカスタムクラス)があります。このリストの特定のアイテムをPropertyGridコントロールのボックスに表示したいと思います。ボックスの最後に[...]ボタンがあります。クリックするとフォームが開き、特にリストからアイテムの1つを選択できるようになります。閉じると、PropertyGridは、選択した値を反映するように更新されます。

助けていただければ幸いです。

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

visual-studio - Visual Studio のプロパティ プロパティ グリッド内でプロジェクト ファイル構造にアクセスしますか?

VS ドラッグ アンド ドロップ デザイナーで使用されるコンポーネントを作成しています。このコンポーネントのプロパティの 1 つは、プロジェクト内のファイルのパック URI である必要があります。

少し簡単にしたいと思います。PropertyGrid がタイプのプロパティに使用するプロパティ エディター内から、ソリューションを調べ、Uris を構築し、ユーザーが選択できるように提示します。

これは可能ですか?もしそうなら、私はこれをどのように行うべきかについて、いくつかの指針とどこから始めるべきかを得ることができますか?