我正在尝试使用样式中的DataTrigger设置元素的属性。
<Image x:Name="post_image1" Height="278" HorizontalAlignment="Left" VerticalAlignment="Top" Source="{Binding LatestFeed[1].PostImageURL}" MaxWidth="410" MaxHeight="410" Margin="0,0,50,0">
<Image.Style>
<Style>
<Style.Triggers>
<DataTrigger
Binding="{Binding post_image1.Source}"
Value="noimage">
<Setter Property="Image.Visibility" Value="Collapsed" />
</DataTrigger>
</Style.Triggers>
</Style>
</Image.Style>
</Image>
我想要发生的是,如果Source Value设置为“noimage”(我将其设置为数据对象的一部分),则Image Visibility属性将设置为Collapsed。
我觉得我很亲近,而且我不确定我错过了什么。
答案 0 :(得分:1)
由于Style直接应用于Image,DataTrigger中的Bindings使用Current Image的DataContext,因此您可以使用与Source绑定中完全相同的方式引用该值。
<Image x:Name="post_image1" Height="278" HorizontalAlignment="Left" VerticalAlignment="Top" Source="{Binding LatestFeed[1].PostImageURL}" MaxWidth="410" MaxHeight="410" Margin="0,0,50,0">
<Image.Style>
<Style TargetType="{x:Type Image}">
<Style.Triggers>
<DataTrigger
Binding="{Binding LatestFeed[1].PostImageURL}"
Value="noimage">
<Setter Property="Visibility" Value="Collapsed" />
</DataTrigger>
</Style.Triggers>
</Style>
</Image.Style>
</Image>