問題タブ [datatrigger]
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データトリガーとコントロールのスタイルの変更
カスタム検証エンジンを使用して、ViewModelプロパティを検証しています。私は最後のステップで立ち往生しています。TextBox
検証に失敗したときの背景色を変更したい。そこで、DataTrigger
sを実装し、HasErrorプロパティにバインドしました。HasErrorは通常のCLRプロパティです。
そしてここにコードがあります:
this.DataContext
問題は、がビューモデルに割り当てられたときに1回だけ起動されることです。したがって、通常のプロパティの代わりにDependencyプロパティを使用できるのではないかと思いましたが、それもうまくいきませんでした。
何か案は?
アップデート:
DataTrigger
sは、依存関係プロパティではなく、CLRプロパティにフックされた場合にのみ発生するようです。
更新2:
次のコードのみが機能した場合:
アップデート3の動作:
答えが述べたように、私はINotifyPropertyChanged
イベントを解雇しなければなりませんでした。
publicObservableCollectionエラー{get{return(ObservableCollection)GetValue(ErrorsProperty); } set {SetValue(ErrorsProperty、value);
wpf - コレクションへの MultiDataTrigger バインディングおよびコレクション内のプロパティへのバインディング
次の XAML があります。
エラーはObservableCollection<BrokenRule>
. BrokenRule には、HasError というプロパティがあります。今、その HasError プロパティにバインドしたいのですが、XAML でそれを参照する方法がわかりません。
wpf - MultiDataTrigger を使用して、WPF の Style.Triggers で単一の条件が true であることを確認する方法は?
UserControl に 3 つのグリッドがあり、そのうちの 1 つのコントロールが一度に表示されます。最後の列では、データをチェックして ForeGround カラーを適用する必要がある Style を使用する必要があります。を使用して、3 つのグリッドの各コントロールにスタイルを記述できますDataTriggers
。しかし、どこでも使用できる Resource の具体的なスタイルが必要です。私は試しMultiDataTrigger
ましたが、2 つ以上の条件が true であることをチェックするのMultiDataTrigger.Conditions
に対し、1 つのコントロールでデータをチェックする必要があるため、目的を果たしません。これを達成するための代替ソリューションはありますか?
c# - ComboBox のコンテンツから RadioButton の IsChecked プロパティを宣言的に設定する方法は?
a1、a2、a3、a4 のアイテムを持つコンボ ボックスがあり、r1 と r2 の 2 つの RadioButton があります。これが私が達成したいことです: ユーザーがコンボボックスから項目 a2 を選択した場合、r1 の IsChecked プロパティを true に設定する必要があります。ユーザーがコンボボックスから項目 a3 または a4 を選択した場合、r2 の IsChecked プロパティを true に設定する必要があります。これを宣言的に達成したいと思います。つまり、コンバーターを使用しません。これが私のコードです。事前に感謝します:
wpf - ItemsControl (WPF) に表示されるアイテムのフィルタリングをアニメーション化する方法
ItemsControl
現在、主にいくつかのアイテムを表示するだけのコントロールを作成しています。さらに、ユーザーがその中のアイテムをフィルタリングできるようにするいくつかのコントロールがありますItemsControl
。
私がやろうとしているのは、フィルターが適用されたときにどのアイテムが削除されるかをユーザーにわかりやすくすることです。
そのため、実際に をフィルタリングする代わりに、各アイテムに使用される VM にICollectionView
新しいプロパティを導入しました。IsVisible
次に、 にScaleTransform
asLayoutTransform
を追加し、変換をアニメーション化するためにDataTemplate
a を追加しました。DataTrigger
ユーザーがフィルター処理を行うと、すべてが正常に機能します。Storyboard
しかし、私が抱えている問題は、ユーザーが何かをフィルタリングしたにもかかわらず、リスト内で何かが変更された場合 (新しい項目を追加するなど)が再度適用されることです。
その理由は、リストが変更された後、DataTemplate
「1」の ScaleY で が再作成され、次にDataTrigger
が再度適用され、スコアボードが再度適用されるためです。
この場合、アニメーションが発生しないことを望みます。
これを行う方法はありますか?ティア・マーティン
.net - DataTrigger条件でのバインディングの使用
次の簡単なクラスがあるとしましょう。
これで、PersonHolderクラスのインスタンスをとして持つDataContext
グリッドができました。グリッドには、のStackPanel
にバインドされたがあり、そのデータを示していますCurrentPerson
。PersonHolder
だから-質問に:が一致する場合、どうすればStackPanel
緑の背景を与えることができますか(ええ、非常に便利ですが、これは非常に単純化された例です..)。これはトリガーを使用するものだと思いますが、トリガー条件の値にバインディングを使用できますか?もしそうなら、私はこのようなことをすることができます:CurrentPerson
Id
ActiveId
PersonHolder
しかし、これは機能しません。どうすればこれを解決できますか?
.net - StackPanelのDataTriggerを定義する
DataTrigger
のを定義するにはどうすればよいStackPanel
ですか?プロパティはありTrigger
ますが、ここでトリガーを定義すると、アプリケーションの起動時に初期化時に次のエラーが発生します。
オブジェクトの初期化に失敗しました(ISupportInitialize.EndInit)。トリガーコレクションのメンバーは、EventTriggerタイプである必要があります。...。
これは次の簡単なものから与えられますDataTrigger
:
これは私の初めてTrigger
です、それで私は何を間違えますか?他の場所を定義する必要がありTrigger
ますか?
wpf - WPF の DataTrigger での XML へのデータ バインディング
WPF アプリケーションでは、次のような XML ノードに DataTemplate を正しくバインドしました。
私のアプリケーションには、答えを含む TextBlock があります。最初は非表示にしたいのですが、XML ファイルの正しい属性が "true" に変更されたときに表示される必要があります。
他のすべてが機能するため、DataTemplate は正しく接続されています。たとえば、XML ファイルの answer 属性を (テストのためだけに) 変更すると、WPF ビューで変更されます。しかし、視界に問題があります。これは私のXAMLです:
DataTrigger の Databinding が正しく機能していないと思います。誰にも手がかりがありますか?