我正在用xaml和c#编写一个UWP项目。我有一个右侧图像的堆叠面板,您可以点击图像,它会在堆叠面板左侧显示相关的较大图像。如何确保UI在点击时更新到正确的图像?
大图像初始设置为与加载页面时堆叠面板中第一个“小”图像有关的“大”图像,但是当您单击堆栈面板中的任何其他小图像时,大图像不更新。
整件事是一个放置在弹出窗口内的数据模板。对于“大”的形象有关的XAML是在这里:
<Border Background="White" Grid.Row="2">
<Image Stretch="Uniform">
<Image.Source>
<BitmapImage UriSource="{Binding SelectedImage}" />
</Image.Source>
</Image>
</Border>
当点击小图片,它触发该图像的“螺纹”方法和方法是:
private void Image_Tapped(object sender, TappedRoutedEventArgs e)
{
var img = ((Windows.UI.Xaml.Controls.Image)sender).DataContext as obj
img.FlyoutContent.SelectedImage = new Uri(img.relatedPath);
}
我使用上面的代码最初设置图像,它的工作原理。点击小图标时,它不会改变大图像。
在调试中,当我点击堆叠面板中的小图像时,我在“图像轻敲”方法中断,我可以看到uri得到正确更新并且没有绑定错误。 UI永远不会改变。
我错过了什么?
谢谢 扎克
*附注:在“目标文件”仅仅是一个自定义类的由名字。
它看起来有点像你设置的点击图片,这可能已经具备了图像的来源。你确定你正在更改正确图像的图像源吗? –
我不确定你在问什么。你问我是否只是重新分配同一个uri到大图像? – zachboy82
我在问,它是否是您正在获取引用的正确的DataContext对象。在改变它之前,SelectedImage路径与你正在改变的路径有什么不同? –