XAML - TargetName ve storyboardu (Multitriggers)

C++, C#, Visual Basic, Delphi, Perl a ostatní

Moderátor: Moderátoři Živě.cz

Odeslat příspěvekod LadyWinnie 8. 1. 2018 12:36

Zdravím,
Snažila jsem se hledat na internetu můj problém ale bez úspěchu a s angličtinou nejsem kamarádka.... :D

Snažím se spustit storyboard na základě multitriggeru s podmínkama IsMouseOver a Tag = třeba 1. Storyboard má zvětšovat velikost objektu. Vše funguje jak má jen pokud se jedná o objekt na který je multitrigger vázán. Bohužel ale potřebuji aby měnil velikost jiného objektu (něco jako kruhové menu a při nájezdu myší se roztahává rychlý náhled na jiném objektu- panelu) jenže už nepodporuje TargetName.. :( co s tím?

v kódu jsem ponechala i TargetName tak jak potřebuju aby byl.. ale hlasí mi to chybu že to prostě neumí vázat na něco jiného :D

Kód: Vybrat vše
  <Grid.Style>
                <Style TargetType="Grid">
                    <Style.Triggers>
                        <MultiTrigger>
                            <MultiTrigger.Conditions>
                                <Condition Property="IsMouseOver" Value="True"/>
                                <Condition Property="Tag" Value="1"/>
                            </MultiTrigger.Conditions>
                            <MultiTrigger.EnterActions>
                                <BeginStoryboard>
                                    <Storyboard>
                                        <DoubleAnimation Storyboard.TargetName="pnNahled"
                             Storyboard.TargetProperty="Height"
                             To="580 " Duration="0:0:0.3"/>
                                    </Storyboard>
                                </BeginStoryboard>
                            </MultiTrigger.EnterActions>
                            <MultiTrigger.ExitActions>
                                <BeginStoryboard>
                                    <Storyboard>
                                        <DoubleAnimation Storyboard.TargetName="pnNahled"
                             Storyboard.TargetProperty="Height"
                             To="580 " Duration="0:0:0.3"/>
                                    </Storyboard>
                                </BeginStoryboard>
                            </MultiTrigger.ExitActions>
                        </MultiTrigger>
                    </Style.Triggers>
                </Style>
            </Grid.Style>


-- 8. 1. 2018 13:09 --

Chtěla bych ještě dodat že pokud použiji animaci storyboard v jednoduchém triggeru tak normálně lze animovat jiný objekt ale u multitriggeru prostě ne... proč? a co s tím?
LadyWinnie
Kolemjdoucí
Uživatelský avatar

Odeslat příspěvekod LadyWinnie 9. 1. 2018 08:54

Vybádáno... ;)

Vložím pro ostatní odpověď kdyby někdo řešil podobný problém s triggerama
-> Přepsala jsem multitrigger na multidatatrigger s tím že dokáže podmínku porovnávat na jiné objekty. To znamená, že jsem celý styl s multidatatriggerem přesunula na panel se kterým chci hýbat (pnNahled)

Kód: Vybrat vše
<Style.Triggers>
                        <MultiDataTrigger>
                            <MultiDataTrigger.Conditions>
                                <Condition Binding="{Binding ElementName=pnHlMenu, Path=IsMouseOver}" Value="True"/>
                                <Condition Binding="{Binding ElementName=pnHlMenu, Path=Tag}" Value="1"/>

                            </MultiDataTrigger.Conditions>
                            <MultiDataTrigger.EnterActions>
                                <BeginStoryboard>
                                    <Storyboard>
                                        <DoubleAnimation
                                         Storyboard.TargetProperty="Height"
                                         To="580 " Duration="0:0:0.3"/>
                                    </Storyboard>
                                </BeginStoryboard>
                            </MultiDataTrigger.EnterActions>
                            <MultiDataTrigger.ExitActions>
                                <BeginStoryboard>
                                    <Storyboard>
                                        <DoubleAnimation
                                         Storyboard.TargetProperty="Height"
                                         To="0 " Duration="0:0:0.3"/>
                                    </Storyboard>
                                </BeginStoryboard>
                            </MultiDataTrigger.ExitActions>
                        </MultiDataTrigger>
                    </Style.Triggers>
LadyWinnie
Kolemjdoucí
Uživatelský avatar


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků