【问题标题】:WPF DataTemplate specify an alternative sourceWPF DataTemplate 指定替代源
【发布时间】:2012-08-23 10:02:34
【问题描述】:

我有一个基于XmlNodeDataTemplate

<DataTemplate DataType="person" >
    <Border Margin="30" CornerRadius="25">
        <Border.Background>
            <ImageBrush ImageSource="{Binding Path=[dog], Source={????}}" />
        </Border.Background>
        <TextBlock Text="{Binding XPath=@forename}" />
    </Border>
</DataTemplate>

然后我的Window 中有一个ContentControl,它的Content设置为XmlNode,元素名称为“person”,属性名称为“forename”。

这一切都很好,但我现在想为Border 背景图像应用一个替代Source

在确保图像可用后,我有一个“提供”图像 uri 的类。这个类被称为ResourceLoader,它在我主窗口中的任何控件中都能完美运行,但我不知道如何从我的DataTemplate 中引用它。

ResourceLoaderWindow 的主要DataContext

我希望这是有道理的。

谢谢, 丰富

【问题讨论】:

    标签: c# wpf binding datatemplate


    【解决方案1】:

    好吧,我想我已经解决了这个问题。

    我在Resources 中添加了一个新项目

    <local:ResourceLoader x:Key="allimages" />
    

    然后,在我的ImageBrush 中指定...

    <ImageBrush ImageSource="{Binding Source={StaticResource allimages}, Path=[dog]}" />
    

    问题解决了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-05-29
      • 1970-01-01
      • 2017-02-07
      • 1970-01-01
      • 2015-01-29
      • 2011-07-05
      • 1970-01-01
      相关资源
      最近更新 更多