所以,我正在尝试将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.dll中出现'System.Windows.Markup.XamlParseException'类型的第一次机会异常附加信息:'向类型集合'添加值'System.Windows.Controls.ItemCollection'引发异常。行号“11”和行位置“62”。
请帮我解决。
答案 0 :(得分:1)
我认为你的错误出现在GridView的XAML中
试试这个:
区别在于,而不是
<ListView> <GridView>
你会有
<ListView> <ListView.View> <GridView>