アニメーションを使用して画像のスライドショーを制御しようとしています。
ユーザーがフォルダー パスを txtaddress に入力し、btnGo をクリックすると、プログラムはそのフォルダーで見つかった各画像を 2 秒間表示します。
ただし、アニメーションを使用してこれを制御するのに苦労しています。スライドショーを開始すると、「プロパティ パス "imgMain.Source" のすべてのプロパティ参照を解決できません」というエラーが表示されます。
私の完全なコードは以下のとおりです。何か案は?
Imports System.IO
Imports System.Windows.Media.Animation
Class MainWindow
Private Property ImageSource As String
Private Sub btnGo_Click(sender As System.Object, e As System.Windows.RoutedEventArgs) Handles btnGo.Click
'Get file list
Dim fileList(0) As String
Dim btm(0) As BitmapImage
Dim dir1 As New DirectoryInfo(txtAddress.Text)
Dim anim As New ObjectAnimationUsingKeyFrames
For Each fi In dir1.GetFiles("*.bmp")
fileList(UBound(fileList)) = fi.Name
ReDim Preserve fileList(UBound(fileList) + 1)
Next
For Each fi In dir1.GetFiles("*.png")
fileList(UBound(fileList)) = fi.Name
ReDim Preserve fileList(UBound(fileList) + 1)
Next
For Each fi In dir1.GetFiles("*.jpg")
fileList(UBound(fileList)) = fi.Name
ReDim Preserve fileList(UBound(fileList) + 1)
Next
'Create animation
anim.Duration = TimeSpan.FromSeconds(UBound(fileList) * 2)
Dim idx As Integer
For idx = 0 To UBound(fileList) - 1
btm(idx) = New BitmapImage(New Uri(txtAddress.Text & "\" & fileList(idx), UriKind.Absolute))
anim.KeyFrames.Add(New DiscreteObjectKeyFrame(btm(idx), KeyTime.FromTimeSpan(TimeSpan.FromSeconds(idx * 2))))
ReDim Preserve btm(UBound(btm) + 1)
Next
Dim sBoard As New Storyboard
sBoard.Children.Add(anim)
Storyboard.SetTargetName(anim, imgMain.Name)
Storyboard.SetTargetProperty(anim, New PropertyPath("imgMain.Source"))
sBoard.Begin(Me)
End Sub
End Class