我是WPF的新手,所以我希望我正确地表达了这个问题。我想做的是将我的<Image>
绑定到在线图像上。但是,我想绑定的图像会根据应用程序的状态而变化。例如,如果我想绑定到从列表中选择的Employee,我将从我的App.config中检索一个基本URL,并使用该员工的ID附加图像名称,如下所示:
var baseUrl = ConfigurationSettings.AppSettings["BaseImageUrl"];
var imageUrl = String.Format("{0}/{1}.jpg", baseUrl, employeeID);
问题是,我不确定如何在WPF中以声明方式执行此操作。非常感谢任何帮助!
答案 0 :(得分:3)
您的代码中是否有员工对象?如果是这样,您可以公开基于对象的员工ID构建的URI属性。
否则你的网站上会有一个提供图片的asp.net页面(我不知道这是否有效,但这是一个想法)
所以在你的xaml
中有这样的东西<Image Source="{Binding Path=EmployeeId, StringFormat='http://my.url.com/Image.aspx?employeeId={0}'}" />
Image.aspx会根据employeeId get变量传输图像吗?
正如我所说,这可能有点不对,但它可以工作,我认为员工类的URI属性是最干净的选择。
答案 1 :(得分:0)
我认为这样的事情会有所帮助:
<Window.Resources>
<ImageSource x:Key="MyImage" Source="C:\Images\Default.jpg" />
</..>
<Image Source="{DynamicResource MyImage}" />
然后在您的代码隐藏中:
((ImageSource)this.Resources["MyImage"]).Source = "C:\Path\From\Config.jpg";