1
我試圖改變我的文本框的行爲,以便他們改變他們的邊界刷,如果有人在他們盤旋。同時,如果有人輸入文本框,我希望我的文本框保持綠色。 我第一次嘗試了事情的懸停和創造這段代碼:結合不同風格的觸發器(如&&)?
<Style TargetType="{x:Type TextBox}">
<Style.Triggers>
<Trigger Property="TextBox.IsMouseOver" Value="True">
<Setter Property="BorderBrush" Value="Green"/>
<Setter Property="BorderThickness" Value="2"/>
</Trigger>
<Trigger Property="TextBox.IsMouseOver" Value="False">
<Setter Property="BorderBrush" Value="Black"/>
<Setter Property="BorderThickness" Value="1"/>
</Trigger>
</Style.Triggers>
</Style>
這個問題是通過添加觸發器的IsKeyboardFocused
事件。如果我添加這兩個額外的觸發器,除了將鼠標懸停在零件上以外,所有內容都可以使用所以我的文本框不會得到一個綠色的邊框,如果我把它懸停。
無論如何解決這個問題還是結合If IsMouseOver==true && IsKeyboardFocused == false then borderbrush = green
這樣的兩個觸發器?
在此先感謝!
MultiTrigger。 'nuff說。 – 2012-07-15 16:19:07
您需要MultiDataTriggers。看到這裏:http://stackoverflow.com/questions/905932/how-to-provide-multiple-conditions-for-data-trigger-in-wpf – Surfbutler 2012-07-15 16:19:08
是的,它的工作原理!謝謝:D – TorbenJ 2012-07-15 16:29:05