[英]WPF/MVVM - Initialize image from XAML and bind to property in ViewModel
我有一个用WPF MVVM编写的应用程序。 我想从XAML初始化嵌入的图像(这样我就可以在设计器中看到它),而且还希望将其绑定到ViewModel,以便可以从代码进行操作。 我可以像这样成功地初始化它:
<Image x:Name="Image1" Source="pack://application:,,,/images/image1.png" Height="200" Width="55" Opacity="0.35">
如何将其绑定到ViewModel?
如果要在设计时查看一些数据,可以定义DesignTime视图模型。
<Window
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
d:DataContext="{d:DesignInstance Type=designTimeViewModels:DesignViewModel,
IsDesignTimeCreatable=True}"
/>
并使用以下代码绑定图像源:
<Image Source="{Binding DisplayedImagePath}" />
ViewModel:
public string DisplayedImagePath
{
get { return "/AssemblyName;component/Images/ImageName.jpg"; }
}
本主题的主题: 在WPF MVVM中绑定图像
您可以使用FallbackValue ...
<BitmapImage x:Key="Image1" UriSource="pack://application:,,,/images/image1.png" />
<Image x:Name="Image1" Source={Binding Image1, FallbackValue={StaticResource Image1}}" />
如果触发了使用后备值的条件,这可能会使您的映像在运行时状态变高。 因此您需要避免这种情况。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.