問題タブ [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.
wpf - WPF: ボタン ControlTemplate + スペースバー = 例外?
Expression Blend でボタン用のテンプレートを作成しました。タブで移動してスペースバーを押すまでは問題なく動作します。次のエラーが表示されます。
InvalidOperationException '[不明]' プロパティがパス '(0).(1).[0].(2)' の DependencyObject を指していません。
コードは次のとおりです。
MouseOverStoryboard または UnMouseOverStoryboard が発生しているように見えます (エラーに記載されているパスは TargetProperty と一致しているようです)。ただし、スペースバーを押すとどちらかが起動する理由はわかりません...何か提案はありますか?
編集: Ryan Versaw のおかげで、次のことを試しました。これにより、スペースバーのクリックで例外がスローされなくなりました。
ブラシ タイプは一貫したまま (LinearGradientBrush) になり、常に 0 番目の GradientStop が利用可能になりました。
私はまだもう1つのことに興味があります-これを行うための最良の方法は何ですか? ==真)。
提案をありがとう!うまくいけば、これは他の誰かにも役立つでしょう。
wpf - ControlTemplate を作成する必要がありますか? または、代替手段はありますか?
を取得し、TreeView
ネストされた (階層的ではなく) データを表示したいと考えています。第 1 レベルのデータはTaskViewModel
、第 2 レベルのデータは と呼ばれArtifactViewModel
ます。を表すArtifactViewModel
a 内の水平が必要です。私はさまざまなアプローチを試しましたが、これが私の最後のアプローチです:GroupBox
TaskViewModel
これは、私が望むものとほとんど同じように見えますが、ArtifactViewModel
垂直に表示されています。そしてArtifactViewModel
、tvTasks.SelectedItem をクリックしても変更されません。これは、ListView
このイベントを処理するためです。このアプローチが最も賢い方法ではないことはわかっていますが、試してみるだけです。この記事
を見ましたが、 に入れたいさまざまなオブジェクトを処理する方法がわかりません。だから...どうすればそのようなUIを構築できますか?TreeView
wpf - WPF DataBound である ControlTemplate の作成
オブジェクトにバインドされたコントロールがあり、すべて問題ありませんが、同様のタイプのさまざまなオブジェクトにバインドされたコントロール テンプレートに変換したいと考えています。可能であれば、これを xaml でのみ実行したいと考えています。手順の概要を説明する優れたチュートリアルはありますか?
編集: もう少し経験を積むと、コントロールのプロパティに基づいてバインディング ソースを設定する機能が必要であることがわかります。すなわち
コントロールは ControlTemplate 内に存在しますが、それをデータに直接バインドすると正しく動作します。それが違いを生む場合。これが可能かどうか、それが正しいアプローチかどうかはわかりません。どんな考えでも大歓迎です!
編集:
これもうまくいきません。
c# - ReadOnlyCheckBox ControlTemplate
一般的な ReadOnlyCheckBox スタイル/テンプレートを作成しようとしましたが、データへのバインディングに問題があります。ここの例では:
ControlTemplate 定義からデータに直接バインドしますが、もちろん、これは私が本当に望んでいるものではありません。新しいチェックボックスを次のように宣言できるようにしたいからです。
もちろん、これを行ってから、箇条書きのイベント トリガーを IsChecked の TemplateBinding に設定する場合を除きます。箇条書きにバインディングを直接設定することが IsChecked を設定してからそれにバインドすることと異なる理由が理解できないと思います. データが更新されない場合でも、クリックはどのように UI の更新をトリガーしますか? 更新を停止するための [上書きできるクリック] のトリガーはありますか?
DictionaryResource のすべての機能が正常に動作するようになったので、満足しています。ポインターに乾杯します。
私が興味を持っていたもう 1 つのことは、スタイルで BasedOn パラメーターを使用してコントロール/スタイル テンプレートを減らすことができるかどうかでした。その場合、私が考える多くのものを宣言するのではなく、実際に変更する必要があるものだけをオーバーライドします。とにかく、標準テンプレートの一部です。私はこれで遊ぶかもしれません。
乾杯
エド
c# - カスタム依存関係プロパティをカスタム WPF スタイルにバインドする
継承された Expander を設計するときに問題があります。私の意図は、トグル ボタンの後ろにプログレス バーを表示し、デフォルトの Expander ヘッダーにテキストを表示することです。
ヘッダーに進行状況バーを表示するこの XAML コードがあります。カスタムスタイルです。
これは正常に機能しますが、進行状況のパーセンテージを制御するカスタム依存関係プロパティのバインドに問題があります。
ウィンドウ内のコードは次のとおりです。
この依存関係プロパティの進行状況を、スタイル内の ProgressBar の進行状況の値にバインドする方法がわかりません。
どんな助けでも大歓迎です。
wpf - WPF:「プッシュライク」チェックボックスを作成するには?
ボタンのように見える CheckBox を作成したいと思います。私の最初の弱い試みはまったくうまくいきません。
ContentPresenter が機能しておらず (ボタンが空)、ボタンをクリックしても IsChecked プロパティがトグルしません。また、IsChecked が true のときにボタンが押されたように見せる方法がわかりません。
c# - パラメータをテンプレートに渡す
角が丸いボタンを定義したとします。
このボタンのユーザーが CornerRadius を指定できるようにすることはできますか? TemplateBinding を使用できますか? しかし、どこにバインドすればよいですか?(タグ付け?)
.net - wpfコントロールの一部を再スタイル化します。出来ますか?
WPFコントロールの一部のスタイルを変更したいと思います。
(具体的には、ScrollBarのスクロールボタンを大きくしたい)
今、私はこれを問題なく行うことができます。デフォルトのスタイルを抽出しました。必要な調整を行い、変更したスタイルをアプリケーションに含めました。
問題は、変更するのが2つの値だけの場合、コントロールテンプレート全体を置換スタイルに含める必要があることです。
列定義のMaxWidthを50に変更したいだけです。
だから私の質問はこれです:他のすべてを含めることなく、テンプレートにこの微調整を加えることができる方法はありますか?コントロールテンプレートの他のすべての部分をデフォルトのように機能させたいのです。
c# - XAML でのコントロール テンプレートへのカスタム依存関係プロパティの追加
少し休憩した後、読み取り専用チェックボックスをさらに進めることができ、今では必要な機能を適度にエレガントな形で備えています。問題は、これを機能させるために少しハックを使用したことですが、これは災害ではありませんが、もっとうまくやればいいでしょう。
要約すると、クリックされたときに自己チェックしない通常の外観のチェックボックスが必要です。代わりに、クリックイベントがバックグラウンドワーカーをトリガーし、後で変数が更新されます。この変数は、checkbox.ischecked にバインドされ、新しい値で更新されます。
ここでのアイデアに基づいたコントロール テンプレートを使用したいと思います。
私はこれを変更し、必要ないと思ったものを取り除きました (おそらく賢明ではありません)。最終的には次のようになりました。
このチェックボックスは上記のように機能し、次のように呼び出します。
私が行ったハックは、'Tag' DependencyProperty を使用して、データ バインディングをコントロール テンプレートに運ぶことでした。これにより、通常、チェックボックスが自己チェックする原因となっているメカニズムがバイパスされます。通常の動作チェックボックスに戻すには、Tag へのバインディングを IsChecked へのバインディングに変更し、BulletDecorator 内で TemplateBinding を Tag ではなく IsChecked に設定します。
だから私は私の質問は次のとおりだと思います:
- スティックの端が間違っていますか?ボックスが自己チェックするメカニズムをオーバーライドできる場所はありますか? おそらくControlTemplate Triggersで?
- 既定の CheckBox から取り込まれたと思われる余分な XAML を排除するのは良い考えですか、それともすべてのスタイルを完全に置き換える必要がありますか?
- 私がやっていることはそれほど狂っていないのであれば、XAML に依存関係プロパティを追加して、Tag プロパティを使用する必要がないようにすることはできますか?
- また、おそらく私が本当に欲しいのは、チェックボックスのように見えるボタンコントロールであり、データをグラフィックにバインドする通常のアニメーション化されたチェックボックスが上にある非表示のボタンかもしれません。その計画についての考えも大歓迎です。
どうもありがとう
エド