.NET GUI

.NET Community rund um alle Graphical User Interface (GUI) Themen.
Willkommen bei .NET GUI. Anmeldung | Registrieren | Hilfe | Impressum | Forumsregeln
in Suchen

Slide-In Effekt

Letzter Beitrag 07-01-2008 7:44 von Norbert Eder. 4 Antworten.
Seite 1 von 1 (5 Treffer)
Beiträge sortieren: Zurück Weiter
  • 06-30-2008 13:24

    Slide-In Effekt

    Hallo,

    ich habe unter folgendem Link eine Möglichkeit gefunden wie man z.B. einen Border einblenden lassen kann, sprich das er so reingeschoben wird, jetzt würde mich das mal gerne interessieren wie das wohl aussehen würde, wenn ich z.B. alle Inhalte eines:

    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="220*" MaxWidth="300" MinWidth="150" Name="columnGrid1"/>
        <ColumnDefinition Width="4*"  Name="columnGrid2"/>
        <ColumnDefinition Width="660*" Name="columnGrid3" />
    </Grid.ColumnDefinitions>
    ColumnsDefinition ein- bzw. ausblenden kann, mittels eines Buttons. Also mit allen Inhalten meine ich, die darin enthaltenen Buttons, Textboxen etc.


    • Beitragspunkte: 35
    • IP-Adresse ist Registriert
  • 06-30-2008 15:34 Antwort zu

    • Norbert Eder
    • Top 10 Mitwirkender
      Männlich
    • Registriert am 04-09-2008
    • Graz / Austria
    • Beiträge 450
    • Punkte 6.769
    • ForumsAdministrator

    AW: Slide-In Effekt

    Ich habe dazu mal vor einigen Wochen eine Demo gebaut, die ich jetzt aber nicht zur Hand habe. Werde sie am Abend posten.
    • Beitragspunkte: 5
    • IP-Adresse ist Registriert
  • 06-30-2008 19:54 Antwort zu

    • Norbert Eder
    • Top 10 Mitwirkender
      Männlich
    • Registriert am 04-09-2008
    • Graz / Austria
    • Beiträge 450
    • Punkte 6.769
    • ForumsAdministrator

    AW: Slide-In Effekt

    Answer
    So, hier ein kleines Beispiel:

    Hier die Definition des Fensters:

    <Window x:Class="DotNetGui.FadeColumnsDemo.FormMain"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="Window1" Height="300" Width="400">
    
        <Grid>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="100"/>
                <ColumnDefinition Width="Auto"/>
                <ColumnDefinition Width="Auto"/>
            </Grid.ColumnDefinitions>
            
            <StackPanel Grid.Column="0" Orientation="Vertical">
                <Button x:Name="FadeInCol1" Content="Fade In / Fade Out"/>
            </StackPanel>
            <StackPanel x:Name="Col1" Grid.Column="1" Width="150">
                <TextBlock TextWrapping="Wrap">Text Text Text Text Text Text Text</TextBlock>
            </StackPanel>
            <StackPanel x:Name="Col2" Grid.Column="2" Width="0">
                <TextBlock TextWrapping="Wrap">Text2 Text2 Text2 Text2 Text2 Text2 Text2</TextBlock>
            </StackPanel>
        </Grid>
    </Window>
    Ganz simpel: 3 Spalten. In der ersten Spalte befindet sich ein Button, über den das Fade-In/Fade-Out angestoßen wird. Spalte 2 und 3 beinhalten jeweils ein StackPanel, welche je einen TextBlock enthalten.

    Bei einem Klick auf den Button wird folgende Methode aufgerufen:

    private void FadeIn()
    {
        Storyboard sb = new Storyboard();
    
        DoubleAnimation animCol1 = new DoubleAnimation(Col1.ActualWidth, Col1.ActualWidth > 0 ? 0 : 150, new Duration(new TimeSpan(0, 0, 1)));
        DoubleAnimation animCol2 = new DoubleAnimation(Col2.ActualWidth, Col2.ActualWidth > 0 ? 0 : 150, new Duration(new TimeSpan(0, 0, 1)));
    
        sb.Children.Add(animCol1);
        sb.Children.Add(animCol2);
    
        Storyboard.SetTargetName(animCol1, Col1.Name);
        Storyboard.SetTargetName(animCol2, Col2.Name);
    
        Storyboard.SetTargetProperty(animCol1, new PropertyPath(StackPanel.WidthProperty));
        Storyboard.SetTargetProperty(animCol2, new PropertyPath(StackPanel.WidthProperty));
    
        sb.Begin(this);
    }
    Diese erstellt ein Storyboard-Objekt und fügt zwei Animationen hinzu. Das war es dann auch schon wieder.

    Natürlich musst du das an deine Bedürfnisse anpassen, stellt auch nur ein sehr sehr einfaches Beispiel dar, zeigt aber sicherlich die Vorgehensweise.



    Abgelegt unter: , ,
    • Beitragspunkte: 20
    • IP-Adresse ist Registriert
  • 06-30-2008 22:23 Antwort zu

    AW: Slide-In Effekt

    Hallo Norbert,
     
    wie immer vielen Dank! Das ist genau das was ich gesucht habe! Top! Yes
    Abgelegt unter: , ,
    • Beitragspunkte: 20
    • IP-Adresse ist Registriert
  • 07-01-2008 7:44 Antwort zu

    • Norbert Eder
    • Top 10 Mitwirkender
      Männlich
    • Registriert am 04-09-2008
    • Graz / Austria
    • Beiträge 450
    • Punkte 6.769
    • ForumsAdministrator

    AW: Slide-In Effekt

    • Beitragspunkte: 5
    • IP-Adresse ist Registriert
Seite 1 von 1 (5 Treffer)
Powered by Community Server (Commercial Edition)    Hosting powered by 69° media solutions