WPF - 簡單的圖檔瀏覽程式

這篇當作練習題,把之前的稍為回憶一下,來作個簡單的圖檔瀏覽程式,完成之後是像下面這樣

介面的部分就改用XAML Code來作了,下面我們來看看相關的程式碼吧
Imports System.Windows
Imports System.IO
Imports System.Reflection

Class Window1

Dim smallImg() As Image

Private Sub Window1_Loaded(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles MyBase.Loaded
RefreshImage()
End Sub

Private Sub wpSmallImg_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Input.MouseButtonEventArgs) Handles spSmallImg.MouseDown
If e.OriginalSource.GetType.Name = "Image" Then
LargerImg.Source = CType(e.OriginalSource, Image).Source
End If
End Sub

Private Sub btnSelect_Click(ByVal sender As Object, ByVal e As System.Windows.RoutedEventArgs) Handles btnSelect.Click
Dim dlgOpen As New Windows.Forms.FolderBrowserDialog
If dlgOpen.ShowDialog = Forms.DialogResult.OK Then
txtSource.Text = dlgOpen.SelectedPath
RefreshImage()
End If
End Sub

Private Sub RefreshImage()
Dim strArr() As String
If txtSource.Text = "" Then
strArr = IO.Directory.GetFiles("Images", "*.bmp")
Else
strArr = IO.Directory.GetFiles(txtSource.Text, "*.jpg")
End If
Dim tmpBmp As BitmapImage
Dim tmpUri As Uri
ReDim smallImg(strArr.Length - 1)

spSmallImg.Children.RemoveRange(0, spSmallImg.Children.Count)

For i As Integer = 0 To strArr.Length - 1
If txtSource.Text = "" Then
tmpUri = New Uri("pack://application:,,,/" & strArr(i))
Else
tmpUri = New Uri(strArr(i))
End If
tmpBmp = New BitmapImage
tmpBmp.BeginInit()
tmpBmp.UriSource = tmpUri
tmpBmp.EndInit()

smallImg(i) = New Image
smallImg(i).Stretch = Stretch.Uniform
smallImg(i).Width = 48
smallImg(i).Height = 48
smallImg(i).Source = tmpBmp
spSmallImg.Children.Add(smallImg(i))
Next
End Sub
End Class

由於Blogger這邊貼XAML會有問題,完整的程式碼請在這邊下載,或是到點部落這邊看吧

留言

這個網誌中的熱門文章

開啟cshtml檔案時,出現『並未將物件參考設定為物件執行個體』的錯誤訊息

無法設定中斷點 尚未載入符號檔

DataGridView欄位計算總合