У меня есть приложение WPF, содержащее меню ленты. Это довольно просто, поскольку я пытаюсь узнать больше о WPF. Поэтому у меня две группы лент. Каждая группа имеет одну кнопку. То, что я хочу, когда кто-то наводит мышь на кнопку, чтобы сетка скользила вниз. То есть начните с правого под ленточным меню и пройдите до конца моего окна.WPF Sliding a Grid
Ниже приведен мой код. Это своего рода работа. Когда он нависает над кнопкой «buttSimSec», сетка «paneSimFirst» делает слайд. Однако он начинается в центре окна моего приложения. Другая кнопка ничего не делает, когда над ним нависает мышь.
Также я хотел бы знать, как не нужно повторять код EventTrigger для каждой кнопки на моей ленте?
<DockPanel Name="dockMain">
<Ribbon DockPanel.Dock="Top" Title="Simulator" x:Name="mainRibbon">
<RibbonTab x:Name="Simulator" Header="Simulator">
<RibbonGroup x:Name="grpSecurities" Header="Securities">
<RibbonButton x:Name="buttSimSec" Label="Select Securities">
<RibbonButton.Triggers>
<EventTrigger RoutedEvent="MouseEnter">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation
Storyboard.TargetName="paneSimFirst"
Storyboard.TargetProperty="(Grid.Height)"
From="0"
To="50"
Duration="0:0:2"/>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</RibbonButton.Triggers>
</RibbonButton>
</RibbonGroup>
<RibbonGroup x:Name="grpModels" Header="Models">
<RibbonButton x:Name="buttModels" Label="View Models">
<RibbonButton.Triggers>
<EventTrigger RoutedEvent="MouseEnter">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation
Storyboard.TargetName="paneSimSecond"
Storyboard.TargetProperty="(Grid.Height)"
From="0"
To="50"
Duration="0:0:2"/>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</RibbonButton.Triggers>
</RibbonButton>
</RibbonGroup>
</RibbonTab>
</Ribbon>
<Grid Name="ParentGrid" Grid.IsSharedSizeScope="True" Visibility="Visible">
<Grid x:Name="paneSimFirst" Visibility="Visible" Background="Purple">
</Grid>
<Grid x:Name="paneSimSecond" Visibility="Collapsed" Background="YellowGreen">
</Grid>
</Grid>
</DockPanel>