現在、プレースホルダイメージ、実イメージの2つのイメージがあります。実際の画像のサムネイルパスが利用可能な場合は、プレースホルダ画像を非表示にします。したがって、私はData Triggersを使用すると考えていた:データトリガ:データがある場合はプレースホルダを非表示にする
<Image x:Name="placeholder" Aspect="AspectFit" HorizontalOptions="Center" WidthRequest="60" IsVisible="False">
<Image.Triggers>
<DataTrigger TargetType="Image"
Binding="{Binding ThumbnailFilePath}"
Value="{x:Null}">
<Setter Property="IsVisible" Value="True" />
</DataTrigger>
<DataTrigger TargetType="Image"
Binding="{Binding ThumbnailFilePath, Path=Text.Length}"
Value="0">
<Setter Property="IsVisible" Value="True" />
</DataTrigger>
</Image.Triggers>
</Image>
<Image x:Name="preview" Aspect="AspectFit" HorizontalOptions="Center" WidthRequest="60" Source="{Binding ThumbnailFilePath, Converter ={StaticResource ImageSourceConverter}}"/>
私はこれを行う場合は私のリストビュー内のいくつかの項目はすべて(ThumbnailFilePath = null;
)で何のイメージを持っていません。いくつかの場合、プレースホルダの中にはサムネイルが表示されます。チェックする条件がいくつかあるため、プレースホルダのソースはコードで設定されています。リストビューでスクロールすると(項目が見えなくなってから戻る)、プレースホルダが表示されます。パスが更新された場合
2枚の画像がそれに応じて表示されなければならない:
ThumbnailFilePath = null;
ThumbnailFilepath = "path/to/file.jpg";
所望の作用:プレースホルダが消えるべきサムネイルが表示されるべきです。アクション希望
ThumbnailFilePath = "old/path/to/file.jpg";
ThumbnailFilepath = "path/to/file.jpg";
:プレースホルダは、隠された滞在する必要があり、新しいサムネイルが表示されるはずです。
ThumbnailFilePath = "path/to/file.jpg";
ThumbnailFilepath = null;
目的のアクション:プレースホルダはvisisbleする必要があり、サムネイルを非表示にする必要があります。
これはデータトリガーで管理できますか?どうやって?
コード(コードビハインドファイル)で可視性を設定しようとしましたが、リストビュー内の項目は更新されません(プレースホルダが表示されます。サムネイルが利用可能でも、リスト内をスクロールするだけで、 )。
私はバインディングを持っているし、私は、コード内で画像のソースを変更する場合ので、また、私は今、私はView-To-View Bindingsを使用