WPF:在网格视图模式下将列表视图与集合绑定.错误
本文关键字:视图 列表 集合 错误 绑定 网格 模式 WPF | 更新日期: 2023-09-27 18:35:39
因此,我正在尝试将 GridView 模式下的 ListView 与我的集合绑定。以下是 XAML:
<Window x:Class="MyApp.ParametersWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" mc:Ignorable="d" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" Height="340" Width="300"
DataContext="{Binding RelativeSource={RelativeSource Self}}">
<Grid>
<Button Content="Cancel" Height="23" HorizontalAlignment="Left" Margin="39,254,0,0" Name="button1" VerticalAlignment="Top" Width="75" />
<Button Content="Run Test" Height="23" HorizontalAlignment="Right" Margin="0,254,51,0" Name="button2" VerticalAlignment="Top" Width="75" Click="button2_Click" />
<ListView Height="227" HorizontalAlignment="Left" Margin="21,12,0,0" Name="listView1" VerticalAlignment="Top" Width="237" ItemsSource="{Binding FileNames}">
<GridView>
<GridViewColumn Width="120" Header="Vorname" DisplayMemberBinding="{Binding Name}" /> **<!--Error in this line-->**
</GridView>
</ListView>
</Grid>
以下是*.cs:
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Windows;
namespace AtmlServiceClient
{
public partial class ParametersWindow : Window
{
public class FileInfo
{
public string Name { get; set; }
public DateTime LastModified { get; set; }
}
ObservableCollection<FileInfo> mFileNames;
public ObservableCollection<FileInfo> FileNames
{
get
{
return mFileNames;
}
}
public ParametersWindow()
{
mFileNames = new ObservableCollection<FileInfo>();
InitializeComponent();
}
private void button2_Click(object sender, RoutedEventArgs e)
{
FileNames.Add(new FileInfo() {Name = "X", LastModified = DateTime.Now});
}
}
}
窗口出现时,我收到了下一个错误。(点击按钮时不行)
错误:
在PresentationFramework 中发生了类型为"System.Windows.Markup.XamlParseException"的第一次机会异常.dll 附加信息:"向类型为'System.Windows.Controls.ItemCollection'类型的集合添加值引发异常。行号"11"和行位置"62"。
请帮我解决它。
我认为您的错误在 GridView 中的 XAML 中
试试这个:
不同的是,而不是
<ListView> <GridView>
你将拥有
<ListView> <ListView.View> <GridView>