WPF Grid有一個「IsMouseOver」屬性,您可以在Grid的樣式的觸發器中使用該屬性。WPF Grid IsMouseOver屬性
我的問題是,「IsMouseOver」屬性只會改變,如果鼠標是在網格內的一些控制(即一個按鈕,或組合框)。
例如:
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="25" />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Button Grid.Column="1">A Button</Button>
<Grid.Style>
<Style TargetType="{x:Type Grid}">
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="False">
<Setter Property="Opacity" Value="0.5"></Setter>
</Trigger>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Opacity" Value="1"></Setter>
</Trigger>
</Style.Triggers>
</Style>
</Grid.Style>
</Grid>
以上電網和它的內容將在半透明度來顯示,這樣就可以看到控件。
您會注意到,如果您將鼠標懸停在第一列(不包含任何內容)上,則不透明度將會設置爲而不是。
但是,如果你將鼠標懸停在第二欄按鈕透明度將被設置爲全。
在我的應用程序中,我設置觸發器的網格顯示在圖像控件的頂部。我不希望在鼠標懸停在圖像上之前顯示網格...換句話說,由於網格位於圖像的頂部,我不希望網格顯示直到鼠標懸停在上方網格(網格中的任何位置),因爲網格位於圖像的頂部。
有誰知道如何做到這一點?
謝謝!
-Frinny
非常感謝您的回覆! – Frinavale 2011-03-22 20:21:19