2009-04-11 86 views
0

希望我正确地解答了这个问题。如果没有,让我解释一下。我想将一个Image元素的Source属性绑定到我的DataContext对象的ImageUrl属性。这里是XAML:我可以将绑定规则添加到Silverlight元素吗?

<Image 
    x:Name="EmployeeImage" 
    Grid.Column="0" 
    Grid.Row="0" 
    Grid.RowSpan="2" 
    Source="{Binding Path=ImageUrl}" 
    Stretch="UniformToFill"> 
</Image> 

很显然,我可以只执行绑定代码隐藏和执行有任何检查,但有一个声明的方式来提供的图像源替代URL如果ImageUrl属性为null还是空的?

编辑:我添加了一个转换器,检查ImageUrl并返回一个默认路径,如果它为空或空。如果有另一种方式,我很有兴趣听到它。

谢谢!

回答

1

有一种方法可以做到这一点声明,但你需要编写从IValueConverter第一派生的类。一旦你完成了,你可以使用该类来执行任何检查以在路径绑定激活时被调用。

XAML示例:

<Image Source="{Binding Path=ImageUrl, Converter={StaticResource YourImagePathConverter}}"/> 
+0

这是我一起去的路线。感谢您的建议! – 2009-04-11 02:05:29

1

为什么不只是让你绑定的对象来处理它呢?

public string ImageURL 
{ 
    get { return (_ImageURL != string.Empty) ? _ImageURL : _MyDefaultImageURL; } 
} 
+0

我绑定到从服务引用自动生成的类。我想我可以创建一个匹配的部分类,它公开了一个新的属性来完成这个功能,例如公共字符串ValidatedImageUrl {...}。感谢您的建议! – 2009-04-11 02:04:56

相关问题