myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
» Regeln
» Wie poste ich richtig?
» Forum-FAQ

Mitglieder
» Liste / Suche
» Wer ist wo online?

Ressourcen
» openbook: Visual C#
» openbook: OO
» Microsoft Docs

Team
» Kontakt
» Übersicht
» Wir über uns

» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Entwicklung » GUI: WPF und XAML » Mit Checkboxen Opacity eines Controls via DependencyProperty setzen
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

Mit Checkboxen Opacity eines Controls via DependencyProperty setzen

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
ByteDevil ByteDevil ist männlich
myCSharp.de-Mitglied

avatar-4066.png


Dabei seit: 02.03.2013
Beiträge: 113
Entwicklungsumgebung: VS 2019 Pro


ByteDevil ist offline

Mit Checkboxen Opacity eines Controls via DependencyProperty setzen

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hi,

ich möchte die Opacity von einem control abhängig von 2 unterschiedlichen DependencyProperties auf unterschiedliche Werte setzen. Das soll animiert geschehen.
Hier mal mein Versuch:

XML-Code:
<StackPanel>
     <CheckBox x:Name="ChkBoxA" Content="A"/>
     <CheckBox x:Name="ChkBoxB" Content="B"/>
</StackPanel>

.
.
.

XML-Code:
<ListBox>
    <ListBox.Style>
        <Style TargetType="{x:Type ListBox}">
            <Style.Triggers>
                <MultiDataTrigger>
                    <MultiDataTrigger.Conditions>
                        <Condition Binding="{Binding ElementName=ChkBoxA, Path=IsChecked}" Value="true"/>
                        <Condition Binding="{Binding ElementName=ChkBoxB, Path=IsChecked}" Value="true"/>
                    </MultiDataTrigger.Conditions>
                    <MultiDataTrigger.EnterActions>
                        <BeginStoryboard>
                            <Storyboard>
                                <DoubleAnimation Storyboard.TargetProperty="Opacity" To="1.0" Duration="0:0:0.2"/>
                            </Storyboard>
                        </BeginStoryboard>
                    </MultiDataTrigger.EnterActions>
                </MultiDataTrigger>
                <MultiDataTrigger>
                    <MultiDataTrigger.Conditions>
                        <Condition Binding="{Binding ElementName=ChkBoxA, Path=IsChecked}" Value="false"/>
                        <Condition Binding="{Binding ElementName=ChkBoxB, Path=IsChecked}" Value="false"/>
                    </MultiDataTrigger.Conditions>
                    <MultiDataTrigger.EnterActions>
                        <BeginStoryboard>
                            <Storyboard>
                                <DoubleAnimation Storyboard.TargetProperty="Opacity" To="0.1" Duration="0:0:0.2"/>
                            </Storyboard>
                        </BeginStoryboard>
                    </MultiDataTrigger.EnterActions>
                </MultiDataTrigger>
                <MultiDataTrigger>
                    <MultiDataTrigger.Conditions>
                        <Condition Binding="{Binding ElementName=ChkBoxA, Path=IsChecked}" Value="true"/>
                        <Condition Binding="{Binding ElementName=ChkBoxB, Path=IsChecked}" Value="false"/>
                    </MultiDataTrigger.Conditions>
                    <MultiDataTrigger.EnterActions>
                        <BeginStoryboard>
                            <Storyboard>
                                <DoubleAnimation Storyboard.TargetProperty="Opacity" To="0.3" Duration="0:0:0.2"/>
                            </Storyboard>
                        </BeginStoryboard>
                    </MultiDataTrigger.EnterActions>
                </MultiDataTrigger>
            </Style.Triggers>
        </Style>
    </ListBox.Style>
</ListBox>

Is jetzt eine ListBox, lässt sich aber auch mit anderen UIElementen reproduzieren. Starte ich das Programm, springt die Opacity auf 0.1 ... soweit richtig. Checke ich nun Checkbox A, geht die Opacity auf 0.3 ... auch richtig. Klicke ich beide an, passiert nichts...es bleibt auf 0.3, müsste aber auf 1.0 gehen. Was mache ich falsch?

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von ByteDevil am 23.01.2020 10:46.

23.01.2020 10:42 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum Der Startbeitrag ist älter als 4 Monate.
Der letzte Beitrag ist älter als 4 Monate.
Antwort erstellen


© Copyright 2003-2020 myCSharp.de-Team | Impressum | Datenschutz | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 31.05.2020 09:21