将WPF DataTemplate绑定到Dictionary <int,page =“”> </int,>

时间:2014-08-07 00:37:28

标签: c# wpf xaml dictionary

所以我试图将XAML DataTemplate绑定到Dictionary。 例如:

pages: {
    1: {
        thumb: "https://www.sample.com",
        image: "https://www.sample.com"
    },
    2: {
        thumb: "https://www.sample.com",
        image: "https://www.sample.com"
    }
}

等等。

基本上,我为每个请求获取了可变数量的页面,我通过创建带有键/值的Dictionary来解决动态反序列化,但我似乎找不到将所述词典绑定到a的方法XAML DataTemplate。

在这个特定的视图中,我试图显示给定内容项的“拇指”图像的网格。关于我应该怎么做的任何想法?如果有这样的方式,最好能用ItemsSource或Binding轻松完成。

1 个答案:

答案 0 :(得分:0)

好吧,所以我觉得我找到了解决办法。 图像绑定到我已设置的ListBox中的DataTemplate中的Image。 我正在寻找一种方法来让一个带有WrapPanel的ListBox,它会显示字典中的图像 - 在这种情况下,是字典中每个页面的拇指,其中有<int>个可变数量的键。 / p>

虽然我想知道是否可以将Image Source绑定到我上面描述的字典,但我发现我暂时可以使用它:

private static void GenerateThumbsAndImages()
    {
        foreach (Page i in CurrentContentInfo.Pages.Values)
        {
            PageImages.Add(new Uri(i.image));
            PageThumbs.Add(new Uri(i.thumb));
        }
    }

然后我绑定了我的XAML:

<ListBox x:Name="ThumbView" ItemsSource="{x:Static local:Posts.PageThumbs}" ... >
<Image x:Name="PageThumbnailImage" Source="{Binding OriginalString}" ... />

如果有人知道如何直接绑定到字典,那就太棒了,但现在这种方法很好。