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

もちろん、私はちょうど、コードビハインドで結合を実行し、そこにすべてのチェックを実行しますが、ImageUrlプロパティがnullの場合、宣言画像ソースの代替URLを提供する方法がありますすることができますまたは空ですか?

編集:ImageUrlをチェックし、nullまたは空の場合はデフォルトのパスを返すコンバータを追加しました。別の方法がある場合、私はそれを聞くことに興味があります。

ありがとうございました!

答えて

1

は、あなたが宣言それを行うことができる方法がありますが、あなたは最初IValueConverterから派生クラスを作成する必要があります。これを行うと、そのクラスを使用して、パスバインディングがアクティブになったときに呼び出されるチェックを行います。

XAML例:WPFで

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

これは私が行ったルートです。提案していただきありがとうございます! –

1

なぜあなたはそれを扱うためにバインディングするオブジェクトを持っていないのですか?

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

サービス参照から自動生成されるクラスにバインドします。私は、この機能を果たす新しいプロパティを公開する、一致する部分クラスを作成することができたと思います。パブリック文字列ValidatedImageUrl {...}提案していただきありがとうございます! –

関連する問題