Hallo und guten Morgen
Ich hab da ein bisschen Code, der sich manchmal nicht ganz so verhält wie er soll, weiss aber nicht, ob das wirklich ein Bug ist oder es einen anderen Grund hat.
Und zwar soll beim Setzen der Eigenschaft
Funktioniert auch eigentlich bei allen Ordnern, ausser bei einem bestimmten, der wird nicht geöffnet (d.h, er wird nicht als leer angezeigt, sondern öfffnet sich einfach nicht!)
Es liegt mir nahe zu glauben, dass das am Ordner selbst liegt, irgendein Attribut (also z.B. versteckt ist er nicht, aber vielleicht hab ich keinen Zugriff drauf weil z.B. mein Virenscanner blockt). Kennt sich jemand aus mit Dateiattributen und -zugriffsberechtigungen unter Windows 10 und kann was dazu sagen?
Ich hab da ein bisschen Code, der sich manchmal nicht ganz so verhält wie er soll, weiss aber nicht, ob das wirklich ein Bug ist oder es einen anderen Grund hat.
Und zwar soll beim Setzen der Eigenschaft
AktuellerOrdner
dieser nach Unterverzeichnissen und evtl. auch darin enthaltenen Dateien gesucht werden:VB.NET-Quellcode
- Private _AktuellerOrdner As String
- Public Property AktuellerOrdner As String
- Get
- Return _AktuellerOrdner
- End Get
- Set(value As String)
- Dim UnsortierteListe As New List(Of String)
- UnterVerzeichnisse = New ObservableCollection(Of String)
- Try
- For Each Unterverzeichnis In System.IO.Directory.GetDirectories(value)
- UnsortierteListe.Add(Unterverzeichnis)
- Next
- UnsortierteListe.Sort()
- UnterVerzeichnisse = New ObservableCollection(Of String)(UnsortierteListe)
- UnsortierteListe.Clear()
- If (Optionen = Options.OpenFile) Or (Optionen = Options.SaveFile) Then
- For Each Datei In System.IO.Directory.GetFiles(value)
- For Each DateiTyp In DateiTypen
- If Datei.ToLower.EndsWith(DateiTyp) Then
- UnsortierteListe.Add(Datei)
- End If
- Next
- UnsortierteListe.Sort()
- For Each item In UnsortierteListe
- UnterVerzeichnisse.Add(item)
- Next
- 'UnterVerzeichnisse.Add(Datei)
- Next
- End If
- UnterVerzeichnisse = New ObservableCollection(Of String)(UnterVerzeichnisse.Distinct)
- _AktuellerOrdner = value
- Catch ex As Exception
- MessageBox.Show("Dieser Ordner konnte nicht geöffnet werden." & Environment.NewLine & "Fehlermeldung: " & ex.Message)
- Return
- End Try
- RaisePropertyChanged(NameOf(UnterVerzeichnisseStrings))
- RaisePropertyChanged()
- End Set
- End Property
VB.NET-Quellcode
- Private Sub VerzeichnisAuswaehlen_Execute(obj As Object)
- If (UnterVerzeichnisIndex <> -1) Then
- Dim IsDir As Boolean = System.IO.File.GetAttributes(UnterVerzeichnisse(UnterVerzeichnisIndex)) = FileAttributes.Directory 'kann es sein dass hier was nicht stimmt, vielleicht noch was anderes angegeben werden zusätzlich zu FileAttributes.Directory?
- If IsDir Then AktuellerOrdner = UnterVerzeichnisse(UnterVerzeichnisIndex)
- End If
- End Sub
Funktioniert auch eigentlich bei allen Ordnern, ausser bei einem bestimmten, der wird nicht geöffnet (d.h, er wird nicht als leer angezeigt, sondern öfffnet sich einfach nicht!)
Es liegt mir nahe zu glauben, dass das am Ordner selbst liegt, irgendein Attribut (also z.B. versteckt ist er nicht, aber vielleicht hab ich keinen Zugriff drauf weil z.B. mein Virenscanner blockt). Kennt sich jemand aus mit Dateiattributen und -zugriffsberechtigungen unter Windows 10 und kann was dazu sagen?