[英]WPF: Binding a ItemsSource to a Directory
我正在嘗試做我的第一個WPF項目,我已經開始使用這個示例項目進行圖像顯示。 部分是將Listbox綁定到圖像數組的XAML:
<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>
現在這很好,但我想將它綁定到子文件夾中的所有圖像,它是與模式匹配的子文件夾。 我的目錄結構是這樣的:
Archive
1994-01
Index.jpg
Page1.jpg
...
PageN.jpg
1994-02
Index.jpg
Page1.jpg
...
PageN.jpg
我想將Listbox綁定到各種Index.jpg圖像。
我常用的方法是使用System.IO和Directory.GetFiles做一些CodeBehind,但由於XAML看起來相當強大,我只是想知道:這種類型的綁定是否可以完全在XAML中實現?
如上所述,WPF中的初學者和我希望以“正確”的方式進行,這似乎是DataBinding。
從WPF的角度來看,“正確”的方式是(分離代碼和表示):
public class IndexReader: INotifyPropertyChanged
{
public IEnumerable<string> IndexFiles
{ get { ... } set { ... raise notify } }
public void ReadIndexImagesFromFolder(string folder)
{
...
}
}
你仍然會使用綁定綁定到ListBox(在將ListReader的set實例設置為ListBox的DataContext或其父類之一之后):
<ListBox ItemsSource="{Binding IndexFiles}"/>
規則是:如果不能輕易綁定,請不要嘗試。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.