小编vol*_*Art的帖子

像飘落的雪花一样移动元素

我发现了一个有趣的程序,允许您在桌面和窗口叠加雪花.作为编程挑战,我有兴趣试图弄清楚如何自己做这件事.更不用说这个程序有点内存耗费(如果它没有内存泄漏).以下是我的开始.我试图通过一个图像得到基础,然后将扩展.

我真正想要帮助的是让图像更加平滑自然地移动.


编辑:

我在答案部分下面发布了一个解决方案,但它比我想要的CPU密集度更高,有什么想法吗?


WPF XAML代码:

<Window x:Class="MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    AllowsTransparency="True"
        WindowStyle="None"
    Title="MainWindow" Height="350" Width="525" Background="Transparent" Topmost="True" WindowState="Maximized" ResizeMode="NoResize">
    <Grid Name="grid1">
        <Image Height="26" HorizontalAlignment="Left" Margin="{Binding flakeMargin}" Name="Image1" Stretch="Fill" VerticalAlignment="Top" Width="28" Source="/snowTest;component/Images/blue-pin-md.png" />
    </Grid>
</Window>
Run Code Online (Sandbox Code Playgroud)

VB代码:

Imports System.ComponentModel

    Class MainWindow
        Dim bw As BackgroundWorker = New BackgroundWorker
        Dim flake0 As New flake

        Private Sub Window_Loaded(sender As System.Object, e As System.Windows.RoutedEventArgs) Handles MyBase.Loaded
            grid1.DataContext = flake0
            AddHandler bw.DoWork, AddressOf backgroundMover
            bw.RunWorkerAsync()
        End Sub

        Private Sub backgroundMover(ByVal …
Run Code Online (Sandbox Code Playgroud)

vb.net wpf

8
推荐指数
1
解决办法
1081
查看次数

标签 统计

vb.net ×1

wpf ×1