Ich habe versucht, Beispielen und anderen Fragen zu folgen, aber ich kann nicht diese Listenansicht an eine ObservableCollection binden. Ich kann nicht herausfinden, was ich falsch mache. Würde mich freuen, wenn jemand meinen Fehler bitte aufzeigen könnte.VB.Net WPF-ListView-Bindung
MainWindow.xaml:
<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:Duplicate_File_Finder"
mc:Ignorable="d"
Title="MainWindow" Height="350" Width="525">
<Grid>
<ListView ItemsSource="{Binding Path=dFileList}">
<ListView.View>
<GridView>
<GridViewColumn Header="File Name" DisplayMemberBinding="{Binding Path=FileName}" />
<GridViewColumn Header="Path" DisplayMemberBinding="{Binding Path=Path}" />
</GridView>
</ListView.View>
</ListView>
</Grid>
</Window>
MainWindow.xaml.vb:
Imports System.Collections.ObjectModel
Public Class DuplicateFile
Public Sub New(ByVal FileName As String, ByVal Path As String, ByVal Hash As String, ByVal Icon As String)
Me.FileName = FileName
Me.Path = Path
Me.Hash = Hash
Me.Icon = Icon
End Sub
Public Property Icon As String
Public Property FileName As String
Public Property Path As String
Public Property Hash As String
End Class
Class MainWindow
Public dFileList As New ObservableCollection(Of DuplicateFile)
Private Sub MainWindow_Loaded(sender As Object, e As RoutedEventArgs) Handles Me.Loaded
For i = 0 To 1
dFileList.Add(New DuplicateFile("File " + i.ToString, "C:\File " + i.ToString, i.ToString, i.ToString))
Next
End Sub
End Class
Wie stellen Sie Ihren 'DataContext' von' MainWindow' ein? Du könntest es 1 von 2 Möglichkeiten tun: 1) setze 'this.DataContext = this', oder 2) Setze und' x: Name' von deinem 'MainWindow' Element und verwende dann' ElementName = 'um es zu benutzen es als Kontext für Ihre Bindung. –
Ich war nicht :) Aber ich habe "Me.DataContext = Me" zum MainWindow Loaded Event hinzugefügt und jetzt bekomme ich "BindingExpression path error: 'dFileList' Eigenschaft nicht gefunden auf 'Objekt' '' MainWindow '" – Daniel
Sorry, ich steckte in C# lang mit dem "' this "Ding! (Ich meinte 'Ich'). Das liegt daran, dass "dFileList" ein Feld und keine Eigenschaft ist. Versuchen Sie, es auf eine Eigenschaft zu setzen (wie bei den Eigenschaften in der Klasse 'DuplicateFile') -' Öffentliche Eigenschaft dFileList als neue ObservableCollection ... '. –