問題タブ [controltemplate]

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 投票する
4 に答える
2182 参照

wpf - ControlTemplate 内にボタンがあります。それへの参照を取得するにはどうすればよいですか?

使用している WPF エディターの ControlTemplate 内のボタンを有効または無効にしたいだけです。

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

wpf - WPF: リストボックス アイテムのラベルを更新する

ListBoxユーザーが設定した整数プロパティに基づいてアイテムの数が追加される場所があります。アイテムはControlTemplate、Label と のTextBox内部で構成されるリソースから作成されDockPanelます。ラベルはデータにバインドされていませんが、ラベルが含まれているの (インデックス + 1) に基づいて、ある程度動的なコンテンツを持たせたいと考えていListboxItemます。私の質問/問題は、各のラベルの内容を更新できるようにしたいのですがListboxItem、何らかの理由でラベルにアクセスできないことです。ラベルはテンプレートにあり、ListboxItem. これらの混乱のいくつかを解決して、私を正しい軌道に戻すのを手伝ってくれる人はいますか?

xaml のコンテンツをバインドしたり、コード ビハインドLabelのコンテンツを更新したりしたいと考えています。Labelどのルートが最適かはわかりません。

0 投票する
7 に答える
147165 参照

.net - 別のアセンブリの ResourceDictionary

複数の個別のアプリケーションで使用したいリソース ディクショナリ ファイル (MenuTemplate.xaml、ButtonTemplate.xaml など) があります。それらをアプリケーションのアセンブリに追加することもできますが、これらのリソースを 1 つのアセンブリにコンパイルして、アプリケーションがそれを参照できるようにしたほうがよいでしょうか?

リソース アセンブリがビルドされた後、アプリケーションの App.xaml でそれを参照するにはどうすればよいですか? 現在、ResourceDictionary.MergedDictionaries を使用して個々の辞書ファイルをマージしています。アセンブリにそれらがある場合、xaml でそれらを参照するにはどうすればよいですか?

0 投票する
3 に答える
18900 参照

wpf - ControlTemplate でラベルのフォント サイズを変更するにはどうすればよいですか

私の WPF ListBox には、ListBoxItem の ControlTemplate を使用したスタイルがあります。その ControlTemplate 内に、ラベルが定義されています。いくつかの詳細に基づいて、ラベルのフォント サイズを変更する必要があります。コード ビハインドから、フォントがどうあるべきかを判断し、それを設定する必要があります。

ControlTemplate を使用した私のスタイルは次のとおりです (無関係なコントロールをいくつか削除しました)。

これどうやってするの?

0 投票する
3 に答える
12350 参照

wpf - スクロールするコンテンツの上に ScrollViewer を配置する方法

ScrollViewer を、スクロールするコンテンツの上にオーバーラップ/配置するように配置したいと思います。コンテンツが下に表示されるように、ScrollViewer の Opacity を設定します。

私がデフォルトの ScrollViewer を理解している限り、コンテンツは ScrollViewer 内にネストされているため、そのままでは使用できないようです。

これを機能させる方法についてのアイデアはありますか?

編集: ScrollViewer はデコレータであり、コンテンツは ScrollViewer を認識していないことを理解しています。この分離は適切であり、コンテンツに ScrollViewer を認識させたくありません。私がやろうとしているのは、純粋に視覚的な (レイアウト) ことです。ScrollViewer をコンテンツの上に表示するだけです。ScrollViewer の動作は変更されません。

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

wpf - WPF: ControlTemplate のコントロールを無効にする

OnRender メソッドでカスタム グラフィックスを描画するデコレータを作成しました。グラフィックは、デコレータを含むオブジェクトの位置によって異なります。Style を介して Template プロパティを介してデコレータを設定します。問題は、デコレーターの OnRender メソッドが、テンプレートの適用時に一度だけ呼び出されることです。したがって、オブジェクトの位置を変更してそのオブジェクトで InvalidateVisual() を呼び出すと、デコレータは再レンダリングされません。

オブジェクトのテンプレートを null に設定してから、次のように同じテンプレートにリセットすることで、これを回避できました。

これはうまくいきますが、これは行うべき方法ではないと確信しています。私は何が欠けていますか?

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

wpf - ControlTemplate とユーザー コントロールを混在させることは良い考えですか?

と既存のコンテンツの両方をサポートするユーザー コントロール ( ) を持つことは可能ですか? s は Control ( ) から継承する場合にのみ使用する必要があることを理解しましたが、UserControl.xaml が空の場合にも使用できることがわかりました。public MyControl: UserControlControlTemplateControlTemplatepublic MyControl: ControlUserControl

次のように、2 つの長方形が並んでいるコントロールがあるとします。

コントロールのユーザーが、それらの長方形を自分が使いたいものに置き換えられるようにしたいと思いFrameworkElementます。だから私はが必要ControlTemplateです。

しかし、99% のケースで、コントロールのユーザーは既存の機能に満足しているので、次のように言ってもらいたいと思います:

コードビハインド:

XAML:

コントロール テンプレートをサポートしている場合、実際には UI 要素や xaml がないため、これは不可能のようです。コードビハインドファイルしかありません。私は、DependencyProperty Leftあまり役に立たないコンテンツを保持する何らかのコンテナを持っていない限り、可能だと思います。コード ビハインド ファイルでグリッドを作成する必要があります。良い考えではないようです。

そして最後に、ユーザーがパーツのタイプを指定できるようにジェネリックを使用できるようにしたいと思います。

これは、型の安全性 (FrameworkElement正しい型にキャストする必要がない) のため、コード ビハインドに役立ちます。残念ながら、ジェネリックは XAML 側で実際にサポートされているとは思いません。

この問題の解決策はありますか、それとも本当に「ControlTemplates をサポートするために Control から継承しますが、コントロールの使いやすさを失います。使いやすさをサポートするために UserControl から継承しますが、ControlTemplateサポートを失います」?

0 投票する
5 に答える
139034 参照

.net - グリップのみでサイズ変更できる境界線のない WPF ウィンドウを作成する方法は?

ResizeMode="CanResizeWithGrip"WPF で設定するWindowと、以下のようにサイズ変更グリップが右下隅に表示されます。

WindowStyle="None"同様に設定すると、タイトル バーは消えますが、設定するまで灰色の斜めのエッジが残りますResizeMode="NoResize"。残念ながら、このプロパティの組み合わせを設定すると、サイズ変更グリップも表示されなくなります。

カスタムでWindowをオーバーライドしました。ウィンドウの境界線を自分で指定したいのですが、ユーザーが 4 つの側面すべてからウィンドウのサイズを変更できるようにする必要はありませんが、サイズ変更グリップが必要です。ControlTemplateStyle

誰かがこれらの基準をすべて満たす簡単な方法を詳しく説明できますか?

  1. Windowで指定した境界線以外に境界線を付けないでくださいControlTemplate
  2. 右下隅に機能するサイズ変更グリップがあります
  3. タイトル バーがありません。
0 投票する
1 に答える
4650 参照

wpf - WPF: 境界線全体をクリック可能にする

クリックするとメニューが表示されるボタンをWPFに実装しようとしています。すべてが機能しており、コントロールの ControlTemplate を以下に示します。(コントロールは ToggleButton を拡張します)。

問題は、ユーザーがパスによって描かれた小さな矢印をクリックしたときにのみメニューが表示されることです。境界線全体を HitTestVisible にする方法はありますか?

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

wpf - チェック可能な MenuItem を RadioButton のコントロール テンプレートとして使用することは可能ですか?

WPF アプリケーションに、ラジオ ボタン グループのように機能する複数のオプションを含むメニューがあります (1 つを選択すると、残りのオプションが選択解除されます)。チェック可能なメニュー項目をラジオ ボタンのテンプレートとして使用したいと考えています。

テンプレートを設定しようとしましたが、期待どおりに動作しないようです。アイテムの選択と選択解除は、ラジオ ボタンの値と同期していないようです。

より複雑なテンプレートを使用して、パスなどを使用して選択したマークを「偽造」することもできると思いますが、そのような単純な目的のためには非常に多くの作業が必要です。また、より複雑なテンプレートを使用する場合は、やりたくないさまざまなテーマに対処する必要があります。

問題を示す簡単な例を次に示します。