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 » DoubleAnimation eines Labels im Grid, Label bewegt sich im Hintergrund
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

DoubleAnimation eines Labels im Grid, Label bewegt sich im Hintergrund

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

Dabei seit: 28.07.2008
Beiträge: 45


sevenofnine ist offline

DoubleAnimation eines Labels im Grid, Label bewegt sich im Hintergrund

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

Hallo Zusammen

ich habe ein Grid, mit Labels und Textboxen, sowie ein DataGrid.
Nun möchte ich eine TextBox, das sich in einer GridZelle in einem Canvas befindet,
bei einem Event mit einer DoubleAnimation so animieren, dass sich die Textbox über dem DataGrid auf die relevante Gridzelle bewegt. Alles geht gut, nur die TextBox bewegt sich unter dem DataGrid.

Kann ich hier eine ZOrder einstellen und wie?

XML-Code:
    <Grid Margin="5">
        <Grid.RowDefinitions>
            <RowDefinition Height="35"/>
            <RowDefinition Height="*"/>
            <RowDefinition Height="35"/>
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition/>
            <ColumnDefinition/>
            <ColumnDefinition Width="40"/>
        </Grid.ColumnDefinitions>
        <Label Grid.Row="0" Grid.Column="0" >xxxx</Label>
        <Canvas Grid.Row="0" Grid.Column="1" Grid.ColumnSpan="2" >
            <TextBox Canvas.Left="0" Canvas.Top="0" Canvas.Right="0" Width="200" Text="xxxx" />
            <TextBox Canvas.Left="0" Canvas.Top="0" Canvas.Right="0" Width="200" Text="xxxx" />

        </Canvas>
        <DataGrid Name="datagrid"  Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="3" />
</Grid >

Danke und schönes WE

Gerhard

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von sevenofnine am 28.11.2015 17:59.

Neuer Beitrag 28.11.2015 17:57 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Abt
myCSharp.de-Team

avatar-4119.png


Dabei seit: 20.07.2008
Beiträge: 13.819
Herkunft: Stuttgart/Stockholm


Abt ist offline

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

Canvas.ZIndex
Neuer Beitrag 28.11.2015 18:18 Beiträge des Benutzers | zu Buddylist hinzufügen
sevenofnine sevenofnine ist männlich
myCSharp.de-Mitglied

Dabei seit: 28.07.2008
Beiträge: 45

Themenstarter Thema begonnen von sevenofnine

sevenofnine ist offline

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

Hallo Abt,

sorry aber so einfach ist es nicht. Die Textbox verschwindet immer ungeachtet des
Canvas.ZIndex hinter dem Datagrid
Neuer Beitrag 29.11.2015 13:29 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
MrSparkle MrSparkle ist männlich
myCSharp.de-Team

avatar-2159.gif


Dabei seit: 16.05.2006
Beiträge: 5.379
Herkunft: Leipzig


MrSparkle ist offline

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

Hi sevenofnine,

Canvas.ZIndex hat natürlich nur Auswirkungen auf Elemente innerhalb der Canvas. Du müßtest also das DataGrid auch in die Canvas einfügen.

Zitat von sevenofnine:
bei einem Event mit einer DoubleAnimation so animieren

Besser wäre hier die Verwendung von Triggern in Verbindung mit einem Storyboard, siehe dazu  How to: Trigger an Animation When a Property Value Changes.

Insgesamt erscheint mir deine Herangehensweise aber nicht besonders vielversprechend. Deine Anforderung, eine Textbox über einer bestimmte Spalte anzeigen zulassen, klingt mir sehr danach, als ist dein Ziel, eine Art Popup-Editor zu erstellen. Dafür gibt es sicherlich bessere Ansätze, am Besten erklärst du mal ein bißchen ausführlicher, was genau du vor hast.

Christian
Neuer Beitrag 29.11.2015 14:25 Beiträge des Benutzers | zu Buddylist hinzufügen
sevenofnine sevenofnine ist männlich
myCSharp.de-Mitglied

Dabei seit: 28.07.2008
Beiträge: 45

Themenstarter Thema begonnen von sevenofnine

sevenofnine ist offline

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

Hi MrSparkle

Zu meinem Vorhaben, ich habe ein MVVM Pattern. Das Datagrid zeigt dem User Datensätze an. Beim Ändern der Textbox suche ich die ID eines Datensatzes und ändere bestimmte Eigenschaften dieses Datensatzes, dadurch ändert sich auch der Status des Datensatzes im DataGrid. Nun möchte ich dem User mit einer Animation zeigen welche Zeile gefunden/betroffen war. Dazu habe ich im Canvas 2 Textboxen übereinander angeordnet, beide binden an die selbe Eigenschaft im Viewmodel, und eine von beiden Textbox möchte ich nun auf die Position des Items im Datagrid fliegen lassen. 2 Textboxen, damit die Eingabe unabhängig von der Animation an derselben Position bleibt.
Ich möchte das ganze nicht mit einem Canvas abbilden, denn die Oberfläche zeigt noch mehr Elemente, die im Grid besser angeordnet sind.
Jetzt ist diese Funktionalität nicht lebensnotwendig, falls es nicht klappt lasse ich es einfach weg, aber ich will mich weiterbilden und geht nicht gibts nicht.

Gruß Gerhard
Neuer Beitrag 29.11.2015 16:56 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Mert93 Mert93 ist männlich
myCSharp.de-Mitglied

Dabei seit: 25.10.2015
Beiträge: 63
Entwicklungsumgebung: Windows
Herkunft: Türkei


Mert93 ist offline

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

Was genau meinst du mit

Zitat:
dadurch ändert sich auch der Status des Datensatzes im DataGrid

?
Neuer Beitrag 29.11.2015 21:46 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
sevenofnine sevenofnine ist männlich
myCSharp.de-Mitglied

Dabei seit: 28.07.2008
Beiträge: 45

Themenstarter Thema begonnen von sevenofnine

sevenofnine ist offline

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

Zitat:
Was genau meinst du mit

z.b ändert sich die Eigenschaft Inhouse, durch wird der Datensatz grün statt rot, da aber einige Datensätze bereits schon grün und oder rot sind, möchte ich durch die Animation dies hervorheben.

Doch nun zurück zu meiner eigentlichen Frage, wie bekomme ich die Textbox trotz Canvas und Grid in den Vordergrund?
Neuer Beitrag 30.11.2015 20:37 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
MrSparkle MrSparkle ist männlich
myCSharp.de-Team

avatar-2159.gif


Dabei seit: 16.05.2006
Beiträge: 5.379
Herkunft: Leipzig


MrSparkle ist offline

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

Hi sevenofnine,

generell würde ich empfehlen, die Benutzeroberfläche noch einmal zu überarbeiten, und zu überlegen, welche Informationen man wie darstellen will. So wie es klingt, klingt es erstmal nicht besonders benutzerfreundlich.

Wenn die Anforderung besteht (die genauen Anforderungen sind immer noch sehr unklar), die von einer Aktion betroffenen Datensätze zu markieren, dann gibt es sicherlich bessere Möglichkeiten als fliegende Textboxen.

Zitat von sevenofnine:
Doch nun zurück zu meiner eigentlichen Frage, wie bekomme ich die Textbox trotz Canvas und Grid in den Vordergrund?

Eine Möglichkeit hab ich ja schon genannt. Warum das für dich nicht in Frage kommt, habe ich nicht verstanden.

Eine andere Möglichkeit wären  Adorner.

Christian
Neuer Beitrag 30.11.2015 21:07 Beiträge des Benutzers | zu Buddylist hinzufügen
Mert93 Mert93 ist männlich
myCSharp.de-Mitglied

Dabei seit: 25.10.2015
Beiträge: 63
Entwicklungsumgebung: Windows
Herkunft: Türkei


Mert93 ist offline

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

Um dir eventuell ein anderen vorschlag zu machen könntest du doch eine weitere Farbe einführen z.b. Hellgrün oder Hellrot und die kürzlich geänderten Staten/Einträge in der Farbe anzeigen.

Insofern ich nicht genau weis, woher und wie die Daten kommen kann ich dir leider kein anderen Vorschlag machen. Aber wenn du es mit den Textbox machen willst hat dir MrSparkle Ja zwei Lösungen genannt.
Mfg Mert.

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Mert93 am 01.12.2015 00:25.

Neuer Beitrag 01.12.2015 00:23 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
sevenofnine sevenofnine ist männlich
myCSharp.de-Mitglied

Dabei seit: 28.07.2008
Beiträge: 45

Themenstarter Thema begonnen von sevenofnine

sevenofnine ist offline

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

danke, für Eure Vorschläge.
Ich werde diese testen.

Gruß Gerhard
Neuer Beitrag 01.12.2015 07:17 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum Der Startbeitrag ist älter als 4 Jahre.
Der letzte Beitrag ist älter als 4 Jahre.
Antwort erstellen


© Copyright 2003-2020 myCSharp.de-Team | Impressum | Datenschutz | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 29.05.2020 08:30