将列表中的项目显示到 gridview 中的列上
我试图在列表框中显示文件的名称和路径。例如,名称应位于 Header FileName 下,路径应位于 FilePath 下。我不想绑定到任何 xml,因为我有一个代码来显示文件名和大小。我对此很陌生,我不知道如何解决这个问题。谢谢!
Im trying to display the name and path of a file in a listbox. For example, the name should come under Header FileName and path under FilePath. I do not want to bind to any xmls, as i have a code to display the file name and size.Im new to this and im not sure how to go about this. Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我不确定如何在没有看到您尝试绑定的任何代码或数据结构的情况下帮助您,但我会尝试一下。
假设您正在尝试绑定 C:\MyFolder 目录中文件的名称和路径,并且您的网格视图的名称为 grd_MyGrid:
为了使其正常工作,您必须引用 System.Linq。
希望这有帮助。
I'm not sure how to help you without seeing any of your code or structure of the data you are trying to bind but I'll give it a shot.
Let's say you're trying to bind the names and paths of files in C:\MyFolder directory and your grid view has a name grd_MyGrid:
In order for this to work, you have to reference System.Linq.
Hope this helps.
首先,我将提供一些代码,但您确实应该至少阅读一些涉及 XAML 和 WPF 的基础知识,以便将来进行开发任务。
如果您可以不使用 ListBox,我建议使用
DataGrid
(在 .Net 4.0 中 - 或在 CodePlex 上的 WPF 工具包)。当您想要在网格或报表中显示数据时,DataGrid 更易于使用。要在 XAML 中创建 DataGrid,您可以使用以下代码(在 .net 4 中)。
这将创建一个简单的
DataGrid
对象供您在屏幕上显示。由于AutoGenerateColumns
已设置为 true,因此控件将自动为您创建列。您可能还注意到我已经设置了
ItemsSource
属性,这是 DataGrid 从中获取其项目的属性。要在页面代码隐藏文件中定义它,您将能够执行如下操作:
public System.Collections.ObjectModel.ObservableCollection- ;要显示的项目 { 获取;私人套装; 注意代码
隐藏中的属性名称如何与 DataGrid 上的绑定中的属性名称相匹配。这就是 View(页面文件)链接到 ViewModel(代码隐藏)的方式。
要对其进行测试,请创建一个简单的测试类并使用项目填充
ItemsToDisplay
集合。例如:
在我的 MainWindow.xaml.cs 文件中
在我的 MainWindow.xaml 文件中:
看起来像: >
To start you off, I will supply some code, but you really should read up on at least some of the basics when it comes to XAML and WPF for future development tasks.
If you can do without the ListBox, I would suggest using a
DataGrid
(in .Net 4.0 - or in the WPF Toolkit on CodePlex). The DataGrid is easier to use in situations where you want to display data in a grid or report.To create a DataGrid in XAML, you can use the following code (in .net 4)
This will create a simple
DataGrid
object for you to display on screen. BecauseAutoGenerateColumns
has been set to true, your columns will be created for you automatically by the control.You may also notice that I have set the
ItemsSource
property, this is the property that the DataGrid will get it's items from.To define this in the Page code-behind file, you will be able to do something like this:
public System.Collections.ObjectModel.ObservableCollection<Item> ItemsToDisplay { get; private set; }
Notice how the name of the property in the code-behind matches the name of the property in the Binding on the DataGrid. This is how the View (page file) links to the ViewModel (code-behind)
To test it out, create a simple test class and populate the
ItemsToDisplay
collection with items.For example:
In my MainWindow.xaml.cs file
And in my MainWindow.xaml file:
Which looks like: