簡體   English   中英

WPF:將ItemsSource綁定到目錄

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM