繁体   English   中英

我可以将图像从一个表单绑定到另一个表单上的控件

[英]Can I bind an image from one form to the control on another

我有两种形式,一种是“编辑”类型形式,我可以从用户pc中选择多个图像并将它们上传到存储它们的本地数据库。 这工作正常,我可以访问它们并看到它们填充在我的列表框中。

但是,我还希望能够在另一种形式上显示这些图像,以节省时间 - 是的,我必须使用另一种形式。 我对数据绑定相当新,但我仍然理解它已经足够广泛地实现它,我只是无法弄清楚如何从表单2上的图像对象数据绑定到表单1上的列表框。最终的想法是创建幻灯片类型应用程序(仅应用程序的一部分)。

您可以直接从第二种形式的数据库绑定。 由于您现在已将图像存储在本地数据库中,因此您可以轻松地以第二种形式检索它们。

通过Form我假设Window ,所以有多种方法可以做到这一点......

  1. MVVM - 这将有一个绑定到窗口1的视图模型实例,它将保存所选图像的URI,同一个视图模型实例可以绑定到另一个窗口,它将在另一个窗口上显示图像。

  2. 如果其中一个表单已被标记为另一个表单的Owner ,则可以从两个表单中引用两个元素。

例如,如果Window1Window2的OwnerWindow,那么......

 window2.Owner = window1;
 window2.Show();

Window1 ,将Window.Tag属性与元素的selected items属性绑定...

 <Window x:Class="...Window1"
         ...
         Tag="{Binding SelectedItems, ElementName=MyListBox, Mode=OneWay}">
     <ListBox x:Name="MyListBox" .... />
 </Window>

然后在Window2您可以使用数据绑定到数据上下文,通过该Owner.Tag属性实现相同的Owner.Tag

 <Window x:Class="...Window2"
         ...>
     <ListBox x:Name="ThumbnailListBox"
              DataContext="{Binding Owner.Tag, 
                                    RelativeSource={RelativeSource
                                        AncestorType={x:Type Window}}"
              ItemsSource="{Binding}" />
 </Window>

希望这可以帮助...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM