1

このタグが見えますか:

<Image Source="{Binding Image}" Stretch="UniformToFill"/>

しかし、以下?私がやろうとしているのは、画像がnullの場合、別のデフォルトの画像を設定することです。これは可能ですか?

<!-- Grid-appropriate 250 pixel square item template as seen in the GroupedItemsPage and ItemsPage -->
<DataTemplate x:Key="Standard250x250ItemTemplate">
    <Grid HorizontalAlignment="Left" Width="320" Height="240">
        <Border Background="{StaticResource ListViewItemPlaceholderRectBrush}">
            <Image Source="{Binding Image}" Stretch="UniformToFill"/>
        </Border>
        <StackPanel VerticalAlignment="Bottom" Background="{StaticResource ListViewItemOverlayBackgroundBrush}">
            <TextBlock Text="{Binding ShortTitle}" Foreground="{StaticResource ListViewItemOverlayTextBrush}" Style="{StaticResource TitleTextStyle}" Height="48" Margin="15,0,15,0"/>
        </StackPanel>
    </Grid>
</DataTemplate>
4

2 に答える 2

2

を追加StyleDataTriggerます。例:

<Image Stretch="UniformToFill">
     <Image.Style>
         <Style TargetType="Image">
             <Setter Property="Source" Value="{Binding Image}"/>
             <Style.Triggers>
                 <DataTrigger Binding="{Binding Image}" Value="{x:Null}">
                     <Setter Property="Source" Value="Images/Default.png"/>
                 </DataTrigger>
             </Style.Triggers>
         </Style>
    </Image.Style>
</Image>

ローカル値の優先順位に注意してください。

于 2012-04-08T03:11:46.903 に答える
0

トリガーが必要かどうかはわかりません。バインドされた値が変換されないときに値を指定する必要がある場合は、通常、以下のようなフォールバック値を使用します。

<Image Source="{Binding Path=ImageURI, FallbackValue='SomeImageURI'}" />

MicrosoftFallbackValueプロパティ

于 2012-04-09T14:09:29.913 に答える