以下在 silverlight 用户控件中正确显示图片:
Image image = pagingManager.BaseApp.DatasourceManager.GetImage("helloWorld1");
ContentArea.Content = image;
...
<ContentControl x:Name="ContentArea"/>
但是,我想动态将图片绑定到 XAML ,例如像这样:
#region ViewModelProperty: MainImage
private Image _mainImage;
public Image MainImage
{
get
{
return _mainImage;
}
set
{
_mainImage = value;
OnPropertyChanged("MainImage");
}
}
#endregion
...
MainImage = pagingManager.BaseApp.DatasourceManager.GetImage("helloWorld1");
我的 XAML 就是这样,但结果是它显示没有:
<Image Source="{Binding MainImage}"/>
我需要在XAML中放置什么才能显示我在ViewModelProperty中的图像对象?
答案 0 :(得分:5)
Image.Source
属性的类型为ImageSource
,因此您的ViewModel应公开ImageSource
。 Image
是一个控件,它在ViewModel中无关。
如果您 在ViewModel中公开Image
控件(这绝对是一个坏主意),那么您应该在ContentControl
中显示它,而不是{{ 1}}控制:
Image