C# WPF:将ItemsSource绑定到目录
我正在尝试做我的第一个WPF项目,并且我已经开始使用图像显示。它的一部分是将列表框绑定到图像数组的XAML:C# WPF:将ItemsSource绑定到目录,c#,wpf,xaml,binding,itemssource,C#,Wpf,Xaml,Binding,Itemssource,我正在尝试做我的第一个WPF项目,并且我已经开始使用图像显示。它的一部分是将列表框绑定到图像数组的XAML: <ListBox.ItemsSource> <x:Array Type="{x:Type ImageSource}"> <ImageSource>http://static.flickr.com/34/70703587_b35cf6d9eb.jpg</ImageSource> <ImageSou
<ListBox.ItemsSource>
<x:Array Type="{x:Type ImageSource}">
<ImageSource>http://static.flickr.com/34/70703587_b35cf6d9eb.jpg</ImageSource>
<ImageSource>http://static.flickr.com/20/70703557_494d721b23.jpg</ImageSource>
<ImageSource>http://static.flickr.com/35/70703504_3ebf8f0150.jpg</ImageSource>
<ImageSource>http://static.flickr.com/35/70703474_18ef30450f.jpg</ImageSource>
</x:Array>
</ListBox.ItemsSource>
我想将列表框绑定到各种Index.jpg图像
我通常的方法是使用System.IO和Directory.GetFiles执行一些代码隐藏,但由于XAML似乎相当强大,我只是想知道:这种类型的绑定可以完全在XAML中实现吗
如前所述,WPF的初学者和我都希望采用“适当”的方式,这似乎是数据绑定。从WPF的角度来看,“适当”的方式是这样的(将代码和表示分离):
公共类索引阅读器:INotifyPropertyChanged
{
公共IEnumerable索引文件
{get{…}set{…raise notify}
public void ReadIndexImagesFromFolder(字符串文件夹)
{
...
}
}
您仍然可以使用绑定绑定到ListBox(将IndexReader的set实例设置为ListBox的DataContext或其父对象之一后):
规则是:如果无法轻松绑定,请不要尝试。从WPF的角度来看,“正确”的方式是(将代码和表示分离):
公共类索引阅读器:INotifyPropertyChanged
{
公共IEnumerable索引文件
{get{…}set{…raise notify}
public void ReadIndexImagesFromFolder(字符串文件夹)
{
...
}
}
您仍然可以使用绑定绑定到ListBox(将IndexReader的set实例设置为ListBox的DataContext或其父对象之一后):
规则是:如果无法轻松绑定,请不要尝试
Archive
1994-01
Index.jpg
Page1.jpg
...
PageN.jpg
1994-02
Index.jpg
Page1.jpg
...
PageN.jpg
public class IndexReader: INotifyPropertyChanged
{
public IEnumerable<string> IndexFiles
{ get { ... } set { ... raise notify } }
public void ReadIndexImagesFromFolder(string folder)
{
...
}
}
<ListBox ItemsSource="{Binding IndexFiles}"/>