10
我有一個StackPanel
(1),與另一個StackPanel
(2)裏面。WPF - 如何更改父母的鼠標懸停的兒童風格
SP 2應該隱藏(不透明度:0),直到SP 1被徘徊。鼠標懸停應將SP2的樣式更改爲Opacity:100。
我試圖定義的StackPanel的資源風格,並使用觸發器在那裏,然後針對內部面板,但我不知道我應該怎麼從觸發內部針對兒童。
什麼是一個簡單的風格結構來做到這一點?
我有一個StackPanel
(1),與另一個StackPanel
(2)裏面。WPF - 如何更改父母的鼠標懸停的兒童風格
SP 2應該隱藏(不透明度:0),直到SP 1被徘徊。鼠標懸停應將SP2的樣式更改爲Opacity:100。
我試圖定義的StackPanel的資源風格,並使用觸發器在那裏,然後針對內部面板,但我不知道我應該怎麼從觸發內部針對兒童。
什麼是一個簡單的風格結構來做到這一點?
我不完全明白你需要什麼,所以我發佈了2個樣本。
樣品顏色爲清楚:
1)當我們在SP1 SP2鼠標懸停獲得綠色
<Window x:Class="Prognoz.GP.DataCollection.TestMarkupProject.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" >
<Window.Resources>
<Style x:Key="test" TargetType="StackPanel">
<Setter Property="Background" Value="Red" />
<Style.Triggers>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource AncestorType=StackPanel,AncestorLevel=1}, Path=IsMouseOver}" Value="True" >
<Setter Property="Background" Value="Green" />
</DataTrigger>
</Style.Triggers>
</Style>
</Window.Resources>
<Grid>
<StackPanel Width="400" Height="400" Background="Yellow">
<StackPanel Width="350" Height="350" Style="{StaticResource test}"/>
</StackPanel>
</Grid>
</Window>
2)當我們在SP2 SP2鼠標懸停獲得綠色
<Style x:Key="test" TargetType="StackPanel">
<Setter Property="Background" Value="Red" />
<Style.Triggers>
<Trigger Property="StackPanel.IsMouseOver" Value="True" >
<Setter Property="Background" Value="Green" />
</Trigger>
</Style.Triggers>
</Style>
第一個正是我所需要的。謝謝! – Yisela
有趣的事情:我已經使用** Property =「Visibility」Value =「Collapsed」**的第一個樣本作爲默認值。但後來我在Designer上看不到它:-)。 – itsho