Hi @ all,
es hat zwar eigentlich mit dem FolderBrowserDialog zu tun, aber die Fragestellung ist hier dann doch eine ganz andere, daher der neue Thread,
ich habe folgendes gefunden, was zumindest einwandfrei die Ordner auflistet, sogar mit LazyLoading, also im Prinzip (fast) alles was man braucht :
xaml
Spoiler anzeigen
Spoiler anzeigen
nur fällt mir einfach kein Ansatz ein, wie ich jetzt noch auslesen kann welches Verzeichnis ausgewählt ist, hat hier evtl. jemand eine zündende Idee ?
es hat zwar eigentlich mit dem FolderBrowserDialog zu tun, aber die Fragestellung ist hier dann doch eine ganz andere, daher der neue Thread,
ich habe folgendes gefunden, was zumindest einwandfrei die Ordner auflistet, sogar mit LazyLoading, also im Prinzip (fast) alles was man braucht :
xaml
XML-Quellcode
- <Window x:Class="MainWindow"
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
- xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- xmlns:local="clr-namespace:FolderBrowserTest"
- mc:Ignorable="d"
- Title="MainWindow" Height="450" Width="800">
- <Grid>
- <TreeView Name="trvStructure" TreeViewItem.Expanded="TreeViewItem_Expanded" Margin="10" />
- </Grid>
- </Window>
VB.NET-Quellcode
- Imports System
- Imports System.IO
- Imports System.Windows
- Imports System.Windows.Controls
- Class MainWindow
- Public Sub New()
- InitializeComponent()
- Dim drives As DriveInfo() = DriveInfo.GetDrives()
- For Each driveInfo As DriveInfo In drives
- trvStructure.Items.Add(CreateTreeItem(driveInfo))
- Next
- End Sub
- Public Sub TreeViewItem_Expanded(ByVal sender As Object, ByVal e As RoutedEventArgs)
- Dim item As TreeViewItem = TryCast(e.Source, TreeViewItem)
- If (item.Items.Count = 1) AndAlso (TypeOf item.Items(0) Is String) Then
- item.Items.Clear()
- Dim expandedDir As DirectoryInfo = Nothing
- If TypeOf item.Tag Is DriveInfo Then expandedDir = (TryCast(item.Tag, DriveInfo)).RootDirectory
- If TypeOf item.Tag Is DirectoryInfo Then expandedDir = (TryCast(item.Tag, DirectoryInfo))
- Try
- For Each subDir As DirectoryInfo In expandedDir.GetDirectories()
- item.Items.Add(CreateTreeItem(subDir))
- Next
- Catch
- End Try
- End If
- End Sub
- Private Function CreateTreeItem(ByVal o As Object) As TreeViewItem
- Dim item As TreeViewItem = New TreeViewItem()
- item.Header = o.ToString()
- item.Tag = o
- item.Items.Add("Loading...")
- Return item
- End Function
- End Class
nur fällt mir einfach kein Ansatz ein, wie ich jetzt noch auslesen kann welches Verzeichnis ausgewählt ist, hat hier evtl. jemand eine zündende Idee ?
If Energy = Low Then
Drink(aHugeCoffee)
Else
Drink(aHugeCoffeeToo)
End If
Drink(aHugeCoffee)
Else
Drink(aHugeCoffeeToo)
End If