1
如果用戶鼠標懸停在堆棧面板上,我想更改堆棧面板內2個元素的顏色。有沒有辦法在wpf中這樣做,因爲我想保持我的c#代碼不受「樣式化」的干擾。用一個鼠標懸停觸發器更改多個元素
這就是我到目前爲止所做的。它只是將觸發器添加到堆棧面板內的每個元素。但那不是很安靜的理想,因爲你需要將鼠標懸停在每個元素上以調整其顏色。
<StackPanel Orientation="Horizontal">
<StackPanel.Resources>
<Style TargetType="{x:Type FrameworkElement}">
<Setter Property="Label.Foreground" Value="#FF0296AA" />
<Setter Property="Rectangle.Fill" Value="#FF0296AA" />
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Label.Foreground" Value="#FFA6FAFA" />
<Setter Property="Rectangle.Fill" Value="#FFA6FAFA" />
</Trigger>
</Style.Triggers>
</Style>
<Style TargetType="{x:Type Label}" BasedOn="{StaticResource {x:Type FrameworkElement}}" />
<Style TargetType="{x:Type Rectangle}" BasedOn="{StaticResource {x:Type FrameworkElement}}" />
</StackPanel.Resources>
<Label Content="Create an account" VerticalAlignment="Top" Padding="0,1,5,1" FontSize="13" Height="21" Cursor="Hand"/>
<Rectangle Height="12" Margin="0,4,0,0" Width="15" RenderTransformOrigin="0.5,0.5">
<Rectangle.OpacityMask>
<ImageBrush ImageSource="Images/Controls/external-link-mask.png" Stretch="Uniform"/>
</Rectangle.OpacityMask>
</Rectangle>
</StackPanel>
_I想要更改堆棧面板中2個元素的顏色,如果用戶鼠標懸停在它上面的話._定義_it_。是否是堆疊面板? – Natrium
在觸發器中,您提到了一個TextBlock,但在StackPanel中,您沒有TextBlock。 – Natrium
堆棧面板內有2個元素。 1個標籤和1個矩形。我想改變那些顏色。 – Tom