【发布时间】:2016-03-20 11:37:49
【问题描述】:
我有一个简单的 WPF 窗口,它有一个图像控件。我已经为图像控件设置了x:Name="MyImage" 属性,并且我能够从代码隐藏文件中访问图像,但是如何从我的 C# 应用程序的其余部分访问它?
【问题讨论】:
标签: c# wpf xaml controls code-behind
我有一个简单的 WPF 窗口,它有一个图像控件。我已经为图像控件设置了x:Name="MyImage" 属性,并且我能够从代码隐藏文件中访问图像,但是如何从我的 C# 应用程序的其余部分访问它?
【问题讨论】:
标签: c# wpf xaml controls code-behind
简单的答案是您不能从应用程序的其余部分访问它。
WPF 旨在帮助您将 UI 和应用程序逻辑分开。前者位于 XAML 和 .cs“视图”文件中,后者位于 .cs“视图模型”或“模型”文件中(取决于您的架构。
您可以做的是将 UI 绑定到视图模型的属性。这意味着您可以将属性设置为您喜欢的任何值,并且视图会将该值反映给用户。在这种情况下,您不直接在 UI 中设置值,而只是告诉 UI 查看视图模型中的 this 属性,以便以 this 方式显示。
维基百科上有一篇关于 Model-View-ViewModel architecture 的文章,这可能是一个有用的起点。
【讨论】: