VB.NET WPF + usercontrol过渡效果好吗?

时间:2015-01-20 14:51:06

标签: wpf vb.net slide

我真的需要帮助,任何人都可以在VB.NET + WPF + Fluidkit中给我示例 我正在尝试创建可以使用动画幻灯片切换视图的应用程序。我知道Fluidkit有一些例子,但在C#中,我试图将C#源转换为VB.NET,但错误太多。

有人能举例说明如何在VB.NET中的视图之间创建动画幻灯片吗?或者至少是VB.NET + Fluidkit for WPF的工作示例

提前谢谢

更新: 亲爱的师父,

在互联网上搜索和搜索后,我差不多想到了这一点。通过专家的一些参考,我设法设计了MDI'并在mainform中显示子表单。我想要的是在主窗体上显示的子窗体时显示动画(幻灯片过渡效果)。 在我的项目中我有: 1. mainwindow.xaml 2. page1.xaml(usercontrol)

主窗口的XAML如下:

<Window x:Class="MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Height="350" Width="525">
    <Grid HorizontalAlignment="Left" Height="38" VerticalAlignment="Top" Width="525" Margin="0,0,-8,0">
        <Grid.Resources>
            <Storyboard x:Key="TransformImage">
                <DoubleAnimation
        Storyboard.TargetName="page1"
        Storyboard.TargetProperty="RenderTransform.(TranslateTransform.X)"
        By="100" Duration="0:0:3">
                </DoubleAnimation>
            </Storyboard>
        </Grid.Resources>
        <Grid.Triggers>
            <EventTrigger RoutedEvent="Button.Click" SourceName="btnClick">
                <BeginStoryboard Storyboard="{StaticResource TransformImage}"/>
            </EventTrigger>
        </Grid.Triggers>

        <StackPanel x:Name="Stk" HorizontalAlignment="Left" Height="281" Margin="-1,40,0,-283" VerticalAlignment="Top" Width="519"/>
        <Button x:Name="btnClick" Content=" Show Child" HorizontalAlignment="Left" Margin="10,10,0,6" Width="75" Click="Button_Click"/>
    </Grid>
</Window>

我想使用幻灯片转换效果显示page1.xaml,但是当我按下BtnClick时,我遇到错误,其中page1.xaml在mainform.xaml中不存在

请帮帮我。

问候

1 个答案:

答案 0 :(得分:0)

最后,我通过应用MahApps.Metro TransitioningContentControl设法对我的项目产生过渡效果。这是我在XAML上所做的:

<Controls:MetroWindow x:Class="MainWindow"
                      xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                      xmlns:Controls="clr-namespace:MahApps.Metro.Controls;assembly=MahApps.Metro"
                      Title="MainWindow" 
                      Height="350" 
                      Width="525">

    <Grid Margin="0,40,0,0">
        <Grid.ColumnDefinitions>
            <ColumnDefinition/>
        </Grid.ColumnDefinitions>
        <StackPanel HorizontalAlignment="Left" Height="32" Margin="1,-37,0,0" VerticalAlignment="Top" Width="379">
            <Button x:Name="btnClick" Content="Show" HorizontalAlignment="Left" Height="14" Margin="10,0,0,0" Width="71"/>
        </StackPanel>

        <Controls:TransitioningContentControl x:Name="transitioning" Transition="Left"   Margin="0,0,0,0" />

    </Grid>
</Controls:MetroWindow>

后面的代码如下

Imports MahApps.Metro.Controls
Partial Public Class MainWindow

    Private Sub btnClick_Click(sender As Object, e As RoutedEventArgs) Handles btnClick.Click
        Dim pageww As New page1
        transitioning.Content = pageww
    End Sub
End Class

对于任何喜欢在项目中应用过渡效果的人来说,也许有用 N.B:我仍然希望通过使用故事板和触发器找出困难的方法