問題タブ [design-time]
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.
c# - 設計時にユーザーコントロールのサイズを制限する
から継承Company.UI.Forms
するフォーム基本クラスがある名前空間があります。BaseForm
System.Windows.Forms.Form
ExampleForm
このフォームのサイズを制限する必要があります。これにより、たとえば、から派生した具体的なフォームの場合BaseForm
、VSデザイナービューではサイズが固定されている必要があります。固定サイズは、派生および設計者がそれを取得できるように、何らかの方法で(BaseForm
ctorで?)設定または定義する必要があります。ExampleForm
それは可能ですか?
[編集]目的は、基本クラスを、既知の画面サイズのWindows CEデバイスのフルスクリーンフォームのテンプレートとして使用することです。このために、デザイナーで子コントロールをレイアウトできるようにします。
mvvm - BlendおよびVSの設計時のViewModelデータを提供する
MVVMベースのアプリケーションでは、設計時にViewModelデータを提供するためにどのようなオプションが必要ですか。これにより、設計者は実際にBlend3(およびVS 2008)で何かを見ることができます。これはどうですか?どういうわけかこれにmc:ignorableを利用できますか?
c# - Windows フォーム コントロールにデザイン時のみのプロパティを設定できますか?
コントロールのユーザーがコントロールのライセンス方法を選択できるようにしたいと考えています。選択は列挙に基づいているため、私が用意した方法のいずれかを選択する必要があります。このライセンスは、実行時にコードを実行する前に選択する必要があります。したがって、設計時に値を選択してほしいと思います。さらに、回避できるのであれば、実行時にこのプロパティを書き込み可能にしたくありません。設計時にのみプロパティを使用できるようにする方法はありますか?
visibility - Expression Blend のデザイン時固有のビジュアルは可能ですか?
Blend 3 でいくつかの UserControl クラスを設計しようとしています。実行時に作成されたときにそれらの一部を「折りたたむ」必要がありますが、ビルドするたびにコードをいじらずにコンポーネント パーツを編集できるようにしたいと考えています。
次の例に示すように、サンプル データソースで動作します。しかし、他のプロパティでは機能しないようです...または何か間違っていますか?
サンプル データ ソースSDS_AIVertexActionを使用して、Expression Blend でこれを行うことができます。
しかし、これを行うことはできないようです:
「オンロード」で可視性を変更できることはわかっていますが、このようなコントロールを作成するたびに、それほど多くのことを入力したくはありません。誰かがこれを可能にする秘密を知っていますか?
.net - コントロールコレクションのデザイン時エディターのサポート
コントロールのコレクションを表すプロパティをコンポーネントに追加し、コレクションに属するコントロールを簡単に選択できるコレクションエディターを用意したいと思います。VSは、次のコードを使用して、私が望むことをほぼ自動的に実行します。
デフォルトのCollectionEditorを取得し、コントロールを追加および削除でき、コレクションがシリアル化されます。
問題は、新しいコントロールを追加したくないということです。フォームで使用可能な他のコントロールから複数のコントロールを選択したいのです。これを行う簡単で標準的な方法はありますか、それとも独自のコレクションエディターを作成してコントロールコレクションを実行する必要がありますか?
コレクションエディター(UITypeEditors)やその他のデザイン時のトピックに関する資料はたくさんありますが、この正確な動作を示すリンクを見つけることができなかったので、助けていただければ幸いです。
reflection - カスタム asp.net コントロールが、コントロールをホストしているアセンブリから設計時に型を読み込むことは可能ですか?
asp.net 用のカスタム サーバー コントロールがあります。利用可能なプロパティの 1 つは汎用オブジェクトです。その汎用オブジェクトには、コントロールのレンダリングをカスタマイズするために読み取られて使用されるカスタム属性があります。
実行時には、コントロールに渡されるインスタンスのすべての属性を見つけるだけでよいので、これは問題ありません。
ただし、コントロールの "DataSource" メンバーが設計時にオブジェクト タイプのリストを呼び出すことができるように、ホスト アセンブリでタイプのリストを表示できるようにしたいと考えています。属性に基づいてレンダリングしているため、実際のインスタンスは必要ありません。
これは、ホスト コントロールのプロパティの例です。
私が望んでいるのは、TheObjectConverter がコントロールのホスト ページのアセンブリをロードできるようにすることです。
次のどれも機能していないようです
.GetReferencedAssemblies() に対する完全な再帰でさえ、運がありません。デザイン時にコントロールのホストのアセンブリを読み込めないようです。それは正しいですか、それともこれを行う方法はありますか?
.net - プロパティグリッドのコントロールの拡張プロパティに「リセット」コマンドを追加する
「選択した色」を持つようにTextBoxを拡張するIExtenderProviderのExtenderコンポーネントがあります。この色のデフォルト値は「ハイライト」です。ユーザーは、エクステンダーのプロパティグリッドで「デフォルトで選択された色」を変更できます。拡張TextBoxに「選択された色」が定義されていない場合は、指定された「デフォルトの削除された色」の値が使用されます。
プログラマーがTextBoxの「選択された色」を変更した場合、エクステンダーコンポーネントで定義されているように、「選択された色」を「デフォルトの選択された色」にリセットする「リセット」コマンドをプロパティグリッドに提供します。
「reset」コマンドを拡張コントロールのプロパティグリッド値に追加してから、その拡張プロパティをエクステンダーによって提供されるデフォルト値に「リセット」するにはどうすればよいですか?
ユーザーが拡張プロパティを右クリックし、[リセット]を選択して、プロパティをエクステンダーで定義されているデフォルト値に復元できるようにします。
(http://msdn.microsoft.com/en-us/library/53b8022e.aspxのShouldSerializeメソッドとResetメソッドを使用したデフォルト値の定義を参照してください)明らかに、これは機能しません。
また、これはエクステンダーのプロパティの「リセット」用であるため、以下を使用することはできません。
DefaultValue
以下に示すように、定数が必要なため使用できませんが、プログラマーがデフォルト値を変更できるため、使用できません。
<DefaultValue(Me.Property)>
Me.Propertyは、プロパティグリッドを介してプログラマーが指定した値であるため、次のようなものが必要です。(Me.Property
定数ではないので、私にはできません。)
【説明】エクステンダー自体に特性があります。これらは、拡張コントロールのデフォルト値です。プログラマーが特定の拡張コントロールに「オーバーライド」値を指定しない場合、デフォルト値が使用されます。エクステンダーの作成者である私は、デフォルトで「ハイライト」などの特定の値に設定されていますが、エクステンダーのユーザーであるあなたがデフォルトで「赤」に設定したい場合は、エクステンダーのプロパティを変更する必要があります。これで、この拡張プロパティを定義しなかった拡張コントロールは「赤」を使用します。ただし、値を指定したコントロールは、この「赤」に「リセット」することはできません。DefaultValueは適用されません。(現在、デフォルトを設定する唯一の方法は、デザイナーからコードを削除することです。)
助言がありますか?
上記のコードフラグメントではColorを使用していないことに注意してください。これは、説明しようとしている内容が乱雑になるためです。
c# - デザイン時のドラッグアンドドロップ
私は現在、エンドユーザーが実行時にコントロールを追加/削除/移動できるデザインサーフェスを設計するプロジェクトに取り組んでいます。
私はこのチュートリアル「TimDawsonによるWindowsフォームデザイナのホスティング」に従い、必要なすべての機能をほぼ実装しました。
チュートリアルを読みたくない人のための短編小説:、、、、およびその他のインターフェイスを実装IDesignerHost
しIContainer
、主に、本当にカスタムのデザインサーフェスが必要なため、フレームワークではすでに使用していませんISelectionService
IToolboxService
System.ComponentModel.Design.DesignSurface
質問 :
ユーザーが新しいControl
をからにドラッグアンドドロップできるようにしIToolboxService
たいIDesignerHost/IContainer
。このチュートリアルでControl
は、ツールボックスでクリックし、デザインサーフェスをクリックしてコントロールを追加します。
私が見つけたもの:
IToolboxService
からへ のドラッグアンドドロップを自動的に行う組み込み機能がありますがSystem.ComponentModel.Design.DesignSurface
、何もないところからIDesignerHostを実装すると、明らかに機能しません。このメソッドを使用する場合
Control.DoDragDrop(ToolboxItem)
、ドラッグアンドドロップを開始するには:IToolboxService.SerializeToolboxItem(ToolboxItem)
アイテムをシリアル化するために呼び出されますIToolboxService.IsToolboxItem(object)
シリアル化された ToolboxItemをデザインサーフェスにドロップできる
IToolboxService.IsSupported(object)
かどうかを評価するために呼び出されます- コントロールをドロップすると:コントロールドロップ
IToolboxService.DeserializeToolboxItem(object serializedObject)
を逆シリアル化するためにデザインサーフェスによって呼び出されます。
IToolboxService.SetCursor()
カスタムカーソルを定義するか、標準ウィンドウカーソルを使用するかを知るために呼び出されます。
問題 :
上記のすべてを「見つけたもの」に実装しましたが、ドラッグアンドドロップにはバグがあります。
- ドラッグしても問題ありませんが、デザインサーフェスにカーソルを合わせると、標準カーソルと"
DragDropEffects.Copy
"スタイルの間でカーソルが少し点滅します。 - ドロップしても何も起こらず、カーソルがデザインサーフェスを離れると(ドロップした後)、新しい
Control
ものが作成され、ドロップした場所に追加されます。
誰かが私がやっていることをやろうとしたことがありますか?もしそうなら、どのようにそれを管理しましたか?ポインタ/リンク/良いアドバイスを持っている人はいますか?
ありがとう=)