我的模板定義ListBoxItem的樣式(這裏是它的一部分):IsMouseOver與IsSelected重疊的ListViewItem的
<ControlTemplate.Triggers>
<Trigger Property="IsSelected" Value="true">
<Setter TargetName="Border" Property="Background" Value="Azure"/>
<Setter TargetName="Border" Property="Height" Value="Auto"/>
</Trigger>
<Trigger Property="IsMouseOver" Value="True">
<Setter TargetName="Border" Property="Background" Value="Cornsilk"/>
</Trigger>
</ControlTemplate.Triggers>
偏偏,當我選擇了一些項目,它仍然爲IsMouseOver定義它。我必須將鼠標移出框才能成爲Azure。可能缺少某些東西?也許有一種方法,使一些風格壓倒一切的一個(IsSelected)? 謝謝。
這是糟糕的設計。您不應該通過非獨佔屬性上的觸發器來設置背景。如果IsSelected和IsMouseOver都是true,那麼應該設置哪個背景?它含糊不清。 – Clemens 2012-02-09 15:18:58
要設置一個更加特權),但我不知道是否WPF支持這種想法。但是,你將如何執行這個descibed的場景呢? – Nickolodeon 2012-02-09 15:22:34
可能MultiDatatrigger是一個我想要的,不是嗎?所以我可以指定屬性和它們的值的組合? – Nickolodeon 2012-02-09 15:24:55