Я пытаюсь перечислить значения в listview и, похоже, получаю ошибку.
Listview создается таким образом при загрузке приложения:
ListView1.Items.Add(new Folders() { pth = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile) + "\\" + "Desktop" }); ListView1.Items.Add(new Folders() { pth = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile) + "\\" + "Documents" }); ListView1.Items.Add(new Folders() { pth = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile) + "\\" + "Downloads" }); ListView1.Items.Add(new Folders() { pth = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile) + "\\" + "Music" }); ListView1.Items.Add(new Folders() { pth = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile) + "\\" + "Pictures" }); ListView1.Items.Add(new Folders() { pth = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile) + "\\" + "Videos" });
Код, который я использую для его перечисления, выглядит следующим образом:
int column = 1; foreach (System.Windows.Forms.ListViewItem item in ListView1.Items) { string source = item.SubItems[column].Text; MessageBox.Show(source); }
Ошибка, которую я получаю, когда нажимаю на кнопку, выглядит следующим образом:
System.InvalidCastException HResult=0x80004002 Message=Unable to cast object of type 'Folders' to type 'System.Windows.Forms.ListViewItem'. Source=Backup Tool StackTrace: at Backup_Tool.MainWindow.FldBackup_Click(Object sender, RoutedEventArgs e) in C:\Users\brian\source\repos\Backup Tool\Backup Tool\MainWindow.xaml.cs:line 95 at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs) at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised) at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args) at System.Windows.UIElement.RaiseEvent(RoutedEventArgs e) at System.Windows.Controls.Primitives.ButtonBase.OnClick() at System.Windows.Controls.Button.OnClick() at System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e) at System.Windows.UIElement.OnMouseLeftButtonUpThunk(Object sender, MouseButtonEventArgs e) at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget) at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target) at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs) at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised) at System.Windows.UIElement.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent) at System.Windows.UIElement.OnMouseUpThunk(Object sender, MouseButtonEventArgs e) at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget) at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target) at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs) at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised) at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args) at System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args) at System.Windows.UIElement.RaiseEvent(RoutedEventArgs args, Boolean trusted) at System.Windows.Input.InputManager.ProcessStagingArea() at System.Windows.Input.InputManager.ProcessInput(InputEventArgs input) at System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport) at System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel) at System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam, Boolean& handled) at System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled) at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled) at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o) at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs) at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler) at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs) at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam) at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg) at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame) at System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame) at System.Windows.Application.RunDispatcher(Object ignore) at System.Windows.Application.RunInternal(Window window) at System.Windows.Application.Run(Window window) at System.Windows.Application.Run() at Backup_Tool.App.Main()
Что, черт возьми, я делаю не так? Надеюсь, кто-нибудь сможет помочь. Я использую Visual Studios 2019 для создания приложения WPF Grid.
Что я уже пробовал:
Я пробовал перечислять как строку различными способами, но нада... Предложения?