0
誰かが助けてくれることを願っています。バインディングを使用してスタイルの変更をトリガーする
私はViewModelのListプロパティによって設定されたListViewを持っています。
私は強調表示が必要なUIの行を含むViewModelに別のリストプロパティを持っています。
<ListView.Resources>
<Style TargetType="ListViewItem">
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Foreground" Value="Red"/>
</Trigger>
</Style.Triggers>
</Style>
</ListView.Resources>
これまさに私が赤でリストビューのハイライトで選択した任意の項目、のように見えません。 私はViewModelのListプロパティにこのスタイルのトリガーをバインドできます。
これはどのように達成できますか?
質問を完全にお読みください。私は "私は強調表示が必要なUIの行を含むViewModelに別のリストプロパティを持っています。" 「このスタイルのトリガーを、私のViewModelのListプロパティにバインドできるようにしたい。」 –
@SheikYerbouti私はあなたの質問を理解できないのではないかと心配しています。あなたのViewModelはUIオブジェクトを持つべきではありません、それはデータオブジェクトを持つ必要があります。これを行う理想的な方法は、データオブジェクトにビューを反映させることです。そのため、ViewModelで選択した項目を追跡する場合は、データオブジェクトに 'IsSelected'プロパティのようなものが必要です。本当に2つの項目リストを持っている場合は、選択した項目リストをループし、データリスト内の項目を見つけて、その項目のIsSelectedプロパティをtrueに設定します。 – Rachel
ViewModelにUIロジックがなく、UIにコードがありません。 MVVMごとに。 MVVMには、私のリストに必要なすべてのオブジェクトと、強調表示したいオブジェクトが含まれている2つのリストプロパティがあります。 isSelectedは単なる例です。そのトリガーをリストビューの項目の束に適用したいと思います。 MVVM内のオブジェクトのリストによってこれらの項目を決定します。 –