Jsem nováček ve WPF a hlavně XAMLu... Snažím se o jednoduchou animaci něco jako vysunutí a zasunutí panelu (Menu) na kliknutí tlačítka. Mám tedy Grid (panel menu) a tlačítko. Do Application.Resources, kam píšu všechny styly, jsem napsala 2 StoryBoardy s animací měnící Height z 200 na 40 a druhou animací, která provádí přesný opak.
- Kód: Vybrat vše
<Storyboard x:Key="ClosePanelNastaveni">
<DoubleAnimation Storyboard.TargetName="PanelNastaveni"
Storyboard.TargetProperty="Height"
From="200" To="40" Duration="0:0:1"/>
</Storyboard>
<Storyboard x:Key="OpenPanelNastaveni">
<DoubleAnimation Storyboard.TargetName="PanelNastaveni"
Storyboard.TargetProperty="Height"
From="40" To="200" Duration="0:0:1"/>
</Storyboard>
První otázkou tedy je.. Lze zapsat nějakými proměnnými hodnoty výšky panelu podle kterých by se animace řídila zda je panel "zavřený" či "otevřený"?
Dále jsem zapsala trigger na tlačítko:
- Kód: Vybrat vše
<Button.Triggers>
<EventTrigger x:Name="CloseSetting" RoutedEvent="Button.Click" SourceName="btnNastavení">
<BeginStoryboard x:Name="CloseGrid" Storyboard="{StaticResource ClosePanelNastaveni}"/>
</EventTrigger>
<!--<EventTrigger x:Name="OpenSetting" RoutedEvent="Button.Click" SourceName="btnNastavení">
<BeginStoryboard x:Name="OpenGrid" Storyboard="{StaticResource OpenPanelNastaveni}"/>
</EventTrigger>-->
</Button.Triggers>
obsahuje dva EventTriggery (jeden zakomentovaný) a obdobná otázka.. Lze to nějak spojit s tím, že by se vložila ještě jedna podmínka zda je teda ten panel "otevřený" či "zavřený"? Jak je vidět dosáhla jsem pouze toho, že mužu spouštět pořád jen jednu a tu samou animaci a nedokážu je měnit na základě vyčtených dat výšky gridu..
uvítám jakoukoliv pomoc i radu jak by se dal problém vyřešit jiným lepším způsobem. Snažím se vyhnout tomu abych psala nějaký kód na pozadí v C# a naučila se ovládat animace a design programu v xamlu. Kdyby byl někdo ochoten mě toho naučit víc budu moc ráda.. prokousávám se tím bohužel úplně sama.