2009-04-11 63 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

相關問題