我有一个这样布置的格子;
+
| Image | Details |
| is | pane |
| here | for data|
| | entry |
+
| ListView here to |
| select data item |
| for top two panes |
+
这一切都很好,但当列表视图中所选项目没有图像时,我现在想将图像更改为另一组控件,显示“对不起,没有可用的图像”
我曾尝试将图像包装在DockPanel中,并在那里设置DataTemplate(这样我就可以使用DataTriggers),但IntelliSense拒绝了!
ListView使用DataTriggers来做类似的事情,但正如我所说,我无法理解如何为一个似乎无法访问DataTemplate的图像做这件事。
下面是简化的XAML;
<Grid DataContext="{Binding Source={StaticResource MyData}}">
<Image x:Name="imgPhoto" Source="{Binding ElementName=MyListViewOfData, Path=SelectedItem.PathToImageOnDisk}" />
<StackPanel DataContext="{Binding ElementName=MyListViewOfData, Path=SelectedItem}">
<TextBox Name="NameTextBox" Text="{Binding Name}" />
<TextBlock Name="DateCreatedTextBlock" Text="{Binding DateCreated}" />
</StackPanel>
<ListView ItemsSource="{Binding}" ItemTemplate="{StaticResource MyListViewTemplate}"
IsSynchronizedWithCurrentItem="True" Name="MyListViewOfData" />
</Grid>
提前感谢WPF大师。
瑞安
更新:下面的两个答案(Abe和Jobi)都很准确,谢谢。