FileName隐藏/神秘属性

时间:2015-08-23 23:08:18

标签: c# wpf properties filenames hidden

今天在编写一个简单的应用程序,根据他们的艺术家和专辑将音乐放到文件夹时,我遇到了令我惊讶的事情。

我只使用ListView显示文件到我的信息:

    <Grid Margin="10" MaxHeight="300">
        <ListView ItemsSource="{Binding MusicList}" ScrollViewer.HorizontalScrollBarVisibility="Disabled">
            <ListView.View>
                <GridView>
                    <GridViewColumn Header="File Name" DisplayMemberBinding="{Binding FileName}" Width="250"/>
                    <GridViewColumn Header="Artist" DisplayMemberBinding="{Binding TagHandler.Artist}" Width="150"/>
                    <GridViewColumn Header="Album" DisplayMemberBinding="{Binding TagHandler.Album}" Width="150"/>
                    <GridViewColumn Header="Title" DisplayMemberBinding="{Binding TagHandler.Title}" Width="200"/>
                </GridView>
            </ListView.View>
        </ListView>
    </Grid>

MusicList是在库“Mp3Lib”的帮助下创建的数组,它就像这样

    public Mp3Lib.Mp3File[] MusicList
    {
        get { return musicList; }
        private set
        {
            musicList = value;
            OnPropertyChanged("MusicList");
        }
    }
    private Mp3Lib.Mp3File[] musicList;

列表视图本身绑定到MusicList,而艺术家,专辑和标题绑定到TagHandler.Artist等等。 TagHandler直接来自MusicList,这绝对有道理。

我的问题是关于这个FileName。说实话,我只是偶然地把它放在那里,打算用这个名字创建一些属性,或者其他什么,但我没有。当我开始编程时,我惊讶地发现列中填充了完整的文件目录,其名称如下:

enter image description here

我不知道的是FileName属性来自何处,是否有任何类似的属性我可以使用?我想再次说我没有这个名字的属性,也没有MusicList有。

如果有人对此有所了解,我将不胜感激。

1 个答案:

答案 0 :(得分:2)

FileNameMp3Lib.Mp3File而不是MusicList的属性,这些绑定不是集合,而是属于集合中订单项的属性。