WPF:在GridView模式下将ListView与集合绑定。错误

时间:2013-10-16 10:49:41

标签: c# wpf listview gridview

所以,我正在尝试将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”。

请帮我解决。

1 个答案:

答案 0 :(得分:1)

我认为你的错误出现在GridView的XAML中

试试这个:

                                                                   
                     

区别在于,而不是

<ListView> <GridView> 

你会有

<ListView> <ListView.View> <GridView>