問題タブ [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 投票する
3 に答える
2634 参照

wpf - WPF: ボタン ControlTemplate + スペースバー = 例外?

Expression Blend でボタン用のテンプレートを作成しました。タブで移動してスペースバーを押すまでは問題なく動作します。次のエラーが表示されます。

InvalidOperationException '[不明]' プロパティがパス '(0).(1).[0].(2)' の DependencyObject を指していません。

コードは次のとおりです。

MouseOverStoryboard または UnMouseOverStoryboard が発生しているように見えます (エラーに記載されているパスは TargetProperty と一致しているようです)。ただし、スペースバーを押すとどちらかが起動する理由はわかりません...何か提案はありますか?

編集: Ryan Versaw のおかげで、次のことを試しました。これにより、スペースバーのクリックで例外がスローされなくなりました。

ブラシ タイプは一貫したまま (LinearGradientBrush) になり、常に 0 番目の GradientStop が利用可能になりました。

私はまだもう1つのことに興味があります-これを行うための最良の方法は何ですか? ==真)。

提案をありがとう!うまくいけば、これは他の誰かにも役立つでしょう。

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

wpf - ControlTemplate を作成する必要がありますか? または、代替手段はありますか?

を取得し、TreeViewネストされた (階層的ではなく) データを表示したいと考えています。第 1 レベルのデータはTaskViewModel、第 2 レベルのデータは と呼ばれArtifactViewModelます。を表すArtifactViewModela 内の水平が必要です。私はさまざまなアプローチを試しましたが、これが私の最後のアプローチです:GroupBoxTaskViewModel

これは、私が望むものとほとんど同じように見えますが、ArtifactViewModel垂直に表示されています。そしてArtifactViewModel、tvTasks.SelectedItem をクリックしても変更されません。これは、ListViewこのイベントを処理するためです。このアプローチが最も賢い方法ではないことはわかっていますが、試してみるだけです。この記事
を見ましたが、 に入れたいさまざまなオブジェクトを処理する方法がわかりません。だから...どうすればそのようなUIを構築できますか?TreeView

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

wpf - WPF DataBound である ControlTemplate の作成

オブジェクトにバインドされたコントロールがあり、すべて問題ありませんが、同様のタイプのさまざまなオブジェクトにバインドされたコントロール テンプレートに変換したいと考えています。可能であれば、これを xaml でのみ実行したいと考えています。手順の概要を説明する優れたチュートリアルはありますか?

編集: もう少し経験を積むと、コントロールのプロパティに基づいてバインディング ソースを設定する機能が必要であることがわかります。すなわち

コントロールは ControlTemplate 内に存在しますが、それをデータに直接バインドすると正しく動作します。それが違いを生む場合。これが可能かどうか、それが正しいアプローチかどうかはわかりません。どんな考えでも大歓迎です!

編集:

これもうまくいきません。

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

c# - ReadOnlyCheckBox ControlTemplate

一般的な ReadOnlyCheckBox スタイル/テンプレートを作成しようとしましたが、データへのバインディングに問題があります。ここの例では:

C# WPF の読み取り専用 CheckBox

ControlTemplate 定義からデータに直接バインドしますが、もちろん、これは私が本当に望んでいるものではありません。新しいチェックボックスを次のように宣言できるようにしたいからです。

もちろん、これを行ってから、箇条書きのイベント トリガーを IsChecked の TemplateBinding に設定する場合を除きます。箇条書きにバインディングを直接設定することが IsChecked を設定してからそれにバインドすることと異なる理由が理解できないと思います. データが更新されない場合でも、クリックはどのように UI の更新をトリガーしますか? 更新を停止するための [上書きできるクリック] のトリガーはありますか?

DictionaryResource のすべての機能が正常に動作するようになったので、満足しています。ポインターに乾杯します。

私が興味を持っていたもう 1 つのことは、スタイルで BasedOn パラメーターを使用してコントロール/スタイル テンプレートを減らすことができるかどうかでした。その場合、私が考える多くのものを宣言するのではなく、実際に変更する必要があるものだけをオーバーライドします。とにかく、標準テンプレートの一部です。私はこれで遊ぶかもしれません。

乾杯

エド

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

c# - カスタム依存関係プロパティをカスタム WPF スタイルにバインドする

継承された Expander を設計するときに問題があります。私の意図は、トグル ボタンの後ろにプログレス バーを表示し、デフォルトの Expander ヘッダーにテキストを表示することです。

ヘッダーに進行状況バーを表示するこの XAML コードがあります。カスタムスタイルです。

これは正常に機能しますが、進行状況のパーセンテージを制御するカスタム依存関係プロパティのバインドに問題があります。

ウィンドウ内のコードは次のとおりです。

この依存関係プロパティの進行状況を、スタイル内の ProgressBar の進行状況の値にバインドする方法がわかりません。

どんな助けでも大歓迎です。

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

wpf - WPF:「プッシュライク」チェックボックスを作成するには?

ボタンのように見える CheckBox を作成したいと思います。私の最初の弱い試みはまったくうまくいきません。

ContentPresenter が機能しておらず (ボタンが空)、ボタンをクリックしても IsChecked プロパティがトグルしません。また、IsChecked が true のときにボタンが押されたように見せる方法がわかりません。

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

c# - パラメータをテンプレートに渡す

角が丸いボタンを定義したとします。

このボタンのユーザーが CornerRadius を指定できるようにすることはできますか? TemplateBinding を使用できますか? しかし、どこにバインドすればよいですか?(タグ付け?)

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

.net - wpfコントロールの一部を再スタイル化します。出来ますか?

WPFコントロールの一部のスタイルを変更したいと思います。

(具体的には、ScrollBarのスクロールボタンを大きくしたい)

今、私はこれを問題なく行うことができます。デフォルトのスタイルを抽出しました。必要な調整を行い、変更したスタイルをアプリケーションに含めました。

問題は、変更するのが2つの値だけの場合、コントロールテンプレート全体を置換スタイルに含める必要があることです。

列定義のMaxWidthを50に変更したいだけです。

だから私の質問はこれです:他のすべてを含めることなく、テンプレートにこの微調整を加えることができる方法はありますか?コントロールテンプレートの他のすべての部分をデフォルトのように機能させたいのです。

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

c# - XAML でのコントロール テンプレートへのカスタム依存関係プロパティの追加

少し休憩した後、読み取り専用チェックボックスをさらに進めることができ、今では必要な機能を適度にエレガントな形で備えています。問題は、これを機能させるために少しハックを使用したことですが、これは災害ではありませんが、もっとうまくやればいいでしょう。

要約すると、クリックされたときに自己チェックしない通常の外観のチェックボックスが必要です。代わりに、クリックイベントがバックグラウンドワーカーをトリガーし、後で変数が更新されます。この変数は、checkbox.ischecked にバインドされ、新しい値で更新されます。

ここでのアイデアに基づいたコントロール テンプレートを使用したいと思います。

C# WPF の読み取り専用 CheckBox

私はこれを変更し、必要ないと思ったものを取り除きました (おそらく賢明ではありません)。最終的には次のようになりました。

このチェックボックスは上記のように機能し、次のように呼び出します。

私が行ったハックは、'Tag' DependencyProperty を使用して、データ バインディングをコントロール テンプレートに運ぶことでした。これにより、通常、チェックボックスが自己チェックする原因となっているメカニズムがバイパスされます。通常の動作チェックボックスに戻すには、Tag へのバインディングを IsChecked へのバインディングに変更し、BulletDecorator 内で TemplateBinding を Tag ではなく IsChecked に設定します。

だから私は私の質問は次のとおりだと思います:

  1. スティックの端が間違っていますか?ボックスが自己チェックするメカニズムをオーバーライドできる場所はありますか? おそらくControlTemplate Triggersで?
  2. 既定の CheckBox から取り込まれたと思われる余分な XAML を排除するのは良い考えですか、それともすべてのスタイルを完全に置き換える必要がありますか?
  3. 私がやっていることはそれほど狂っていないのであれば、XAML に依存関係プロパティを追加して、Tag プロパティを使用する必要がないようにすることはできますか?
  4. また、おそらく私が本当に欲しいのは、チェックボックスのように見えるボタンコントロールであり、データをグラフィックにバインドする通常のアニメーション化されたチェックボックスが上にある非表示のボタンかもしれません。その計画についての考えも大歓迎です。

どうもありがとう

エド