問題タブ [multidatatrigger]
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 - TabItem BorderBrush が IsMouseOver トリガーで更新されない
ビュー モデルのプロパティが true で、TabItem の IsMouseOver が true の場合、Border は 2.5 の太さで赤く表示される MultiDataTrigger があります。
プロパティと IsMouseOver の両方を機能させることができなかったので、自分のプロパティだけを試しました。それは正しく機能しましたが、タブの上にカーソルを置くまで、2.5 の厚さで赤くなるという予期された問題がまだありました。そこで、ビュー モデル プロパティを取り出してみたところ、条件として IsMouseOver チェックがありました。これはうまくいきません。以下は、IsMouseOver のみのコードです。
TabItem テンプレートを上書きするという Mike Strobel のアドバイスを使用して修正しました。これで、マウスが TabItem の上に置かれているかどうかに関係なく、ViewModel プロパティが true のときはいつでも赤い境界線が表示されます。これが私の解決策です(変更したコードの領域にコメントを付けました):
c# - このバインディングを MultiDataTrigger バインディングに変換する
要素を選択的に表示/非表示にするために使用するこのバインディングがあります。
上記のバインディングと、コマンド ライン引数 'Setup' へのバインディングに基づいて、選択的に表示/非表示にする必要がある要素があります。
これらのバインディングの両方を以下に適用する必要があるため、次の要素は「セットアップ」モードで「InputFileIsNeeded」が true の場合にのみ表示されます。
XPath を MultiDataTrigger にバインドする方法に問題があります。私はフォローしようとしましたが、2つのエラーが発生しました(1)「}」が必要です(「XPath =」上)および(2)特定の要素がないため、ここでは明らかに使用できません(これはCondition要素内にあると思います)。
MultiDataTrigger またはその他のメカニズムを使用してこれら 2 つのプロパティをバインドする方法を教えてもらえますか?
c# - テキストボックスが WPF で検証されるときにボタンを有効にする
テキストボックスの検証時にボタンを無効/有効にしようとしています。
検証が機能するようになりました(設計が変更されるため、機能することはわかっています)。しかし、テキストボックスが検証されているときに、ボタンを無効から有効に変更できないようです。
これが私のコードです:
...
c# - C#/WPF - 共有スタイル セッター
デバイスのレベルを表示する一連のコントロールのスタイルを設定しようとしています。
そのフィールドの値が特定の値の間にあるかどうかをチェックし、ハイライトを適用してエラーを示すマルチデータ トリガーを備えたスタイルを持つ Label コントロールを使用しています。
私が取り組もうとしている問題は、通常、通常、警告、およびエラーの 2 つまたは 3 つの状態があるということです。これらの状態は、複数のフィールドに適用されます。
トリガーのセッターを、List のように個別に保存できる静的リソースに統合し、このリストを MultiDataTrigger.Setters の値として単純に使用できるようにしたいと考えています。このようにして、エラーと警告の状態をセッターのコレクションとして定義し、中央の場所から更新することができます。
いいえ:
私が抱えている問題は、DataTrigger/MultiDataTrigger の Setters プロパティに set メソッドがなく、状態を判断するためにトリガーが必要なことです。
私がやりたいことを達成する方法はありますか?
可能な解決策:
- 範囲のリストを受け取り、正しいスタイルを適用するコントロール
- セッターを1つのトリガーから別のトリガーにコピー/貼り付け*現在これを使用*
- @PieterWitvoet推奨
StyleSelector
編集
目的を達成するためのユーザー コントロールを作成しました。C#
以下の基本クラスを使用してルールを定義しています
例えば:
XAML の場合:
c# - ボタンの isEnabled プロパティがコード ビハインドから変更されると、MultiDataTrigger が起動しない
いくつかのテキストボックスのvalidation.hasErrorプロパティに基づいて有効/無効にされるボタンがあり、いくつかのビジネスロジックに基づいてコードビハインドからこの同じボタンを無効にして有効にするまでは正常に動作します。例えば。
if(recordExist) { btn.IsEnabled=true;} else{ btn.isenabled=false;}
ロジックが実行されてボタンが無効になると、すべてのコントロールの が false を返してelse
も、ボタンは再び有効になりません。validation.HasError
同様に、ロジックが実行されてボタンが有効になっている場合は、 true が返さif
れても有効のままです。validation.hasError
私が望むのは、どういうわけか再トリガーしてオンmultiDataTriggers
をチェックし、それに応じてボタンのプロパティを更新することです。私は十分に明確であることを願っています。Validation.hasError
textboxes
isEnabled
c# - c# Wpf 4 マルチデータトリガー
ブール値と値で変化するボタンを作成したいisMouseOver
。
- プレイヤーがプレイ中 -> Pause_grey.png
- プレーヤーが再生中 & mouseIsOver-> Pause_blue.png
- プレイヤーが停止中 -> Play_grey.png
- プレイヤーが停止 & mouseIsOver -> Play_blue.png
これを 4 で実行したいのですMultiDataTrigger
が、playStatus
(のブール値dataContext
) が変更されると、ボタンはそれを認識しません
コード:
ボタン:
ボタンのスタイル:
誰でもこれを機能させる方法を知っていますか?:)
EDIT1:
方法がわからない、またはINotifyPropertyChanged
値のためにセットアップできるかどうか:
EDIT2: これを試しましたが、うまくいきません
listView でできるように update を手動で呼び出す必要があるかもしれませんが、条件を更新する方法がわかりません。ListView では次のようになります。
だから私は試しました:
しかし、それは言う:
System.NullReferenceException
……問題はなぜですか?
wpf - wpfでデータトリガーを使用して2つの文字列を比較する方法
Name1 と Name2 という 2 つのプロパティがあります。
この 2 つのプロパティが XAML でデータ トリガーを使用していないという同じ値を持っているかどうかを確認するにはどうすればよいですか。
Name1 プロパティは Class1 にあり、Name2 プロパティは Class2 にあります。
詳しくは、
プロパティName1を持つPagesというクラスがあります。アプリケーションの読み込み中に、List オブジェクトを作成し、そのリストにいくつかの値を追加します。XAML では、ItemSource にバインドします。
Name2 というプロパティを持つ CurrentPage という別のクラスがあります。
ItemSource.ItemTemplate に、すべてのページの名前を表示するラベル コントロールを追加しました。
現在のページ コンテンツと等しい場合、ラベルの BG 色を変更しようとしています。
しかし、エラーが発生し、スタイルが読み込まれません。Name2とName1を比較する部分で間違っていたことは知っています..()親切に誰か助けてください
c# - WPF MultiDataTrigger AND 条件
2 つのデータグリッドの両方で項目が選択されている場合にのみ、ボタンを有効にしたいと考えています。現在、いずれかのデータグリッドに選択がある場合に有効になります。何か案は?