我可以向Silverlight元素添加绑定规则吗?

我可以向Silverlight元素添加绑定规则吗?,silverlight,image,data-binding,Silverlight,Image,Data Binding,希望我的措辞正确。如果没有,让我解释一下。我想将图像元素的源属性绑定到DataContext对象的ImageUrl属性。以下是XAML: <Image x:Name="EmployeeImage" Grid.Column="0" Grid.Row="0" Grid.RowSpan="2" Source="{Binding Path=ImageUrl}" Stretch="UniformToFill"> </Image>

希望我的措辞正确。如果没有,让我解释一下。我想将图像元素的源属性绑定到DataContext对象的ImageUrl属性。以下是XAML:

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

显然,我可以在代码隐藏中执行绑定并在那里执行任何检查,但是如果ImageUrl属性为null或空,是否有方法声明性地为图像源提供替代Url

Edit:我添加了一个转换器,它检查ImageUrl并返回一个默认路径(如果为null或空)。如果还有别的办法,我很想听听。


谢谢

为什么不让绑定的对象来处理它呢

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

有一种方法可以声明性地完成,但需要编写一个从第一个类派生的类。完成后,可以使用该类执行任何检查,以便在激活路径绑定时调用

XAML示例:

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

Source=“{Binding Path=ImageUrl,FallbackValue=DefaultPathHere}”
在WPF中工作,不确定
FallbackValue
是否在Silverlight中工作


一些研究表明,Silverlight 4中提供了FallbackValue,但以前的版本没有

我绑定到一个从服务引用自动生成的类。我想我可以创建一个匹配的分部类来公开一个新的属性来实现这个功能,例如公共字符串validateImage URL{…}。谢谢你的建议!这是我走的路线。谢谢你的建议!