首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >绑定到BitmapImage

绑定到BitmapImage
EN

Stack Overflow用户
提问于 2013-11-22 13:59:06
回答 2查看 5.2K关注 0票数 1
代码语言:javascript
复制
    public class Thumbnail : INotifyPropertyChanged
    {
        public BitmapImage testimage { get; set; }
        Thumbnail()
        {
            testimage = new BitmapImage(new Uri("http://www.diseno-art.com/news_content/wp-content/uploads/2012/09/2013-Jaguar-F-Type-1.jpg"));
        }
    }

以及自定义控件中的图像元素:

代码语言:javascript
复制
<Image x:Name="previewImage" x:FieldModifier="public" Margin="8" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Source="{Binding Path=thumbnail.testimage}" Stretch="Fill" />

当我创建一个控件时,我会这样做:

代码语言:javascript
复制
MyControl MC = new MyControl();
MC.DataContext = new Thumbnail();

和图像没有出现-为什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-11-22 14:16:40

XAML:

代码语言:javascript
复制
<Image x:Name="previewImage" x:FieldModifier="public" Margin="8" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Source="{Binding Path=testimage}" Stretch="Fill" />

代码(清洁剂):

代码语言:javascript
复制
 public class Thumbnail : INotifyPropertyChanged
        {
            private BitmapImage tmpbmp;
            public BitmapImage testimage { get { return tmpbmp; } set { tmpbmp = value; OnPropertyChanged("testimage"); } }
            public Thumbnail()
            {
                tmpbmp = new BitmapImage(new Uri("http://www.diseno-art.com/news_content/wp-content/uploads/2012/09/2013-Jaguar-F-Type-1.jpg"));
            }


            public event PropertyChangedEventHandler PropertyChanged;

            protected virtual void OnPropertyChanged(string propertyName)
            {
                PropertyChangedEventHandler handler = PropertyChanged;
                if (handler != null)
                    handler(this, new PropertyChangedEventArgs(propertyName));
            }
        }
票数 3
EN

Stack Overflow用户

发布于 2013-11-22 14:06:24

缩略图类没有公共构造函数,不实现INotifyPropertyChanged成员(在您的示例中根本不需要)。而XAML应是:

代码语言:javascript
复制
<Image x:Name="previewImage" x:FieldModifier="public" Margin="8" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Source="{Binding Path=testimage}" Stretch="Fill" />
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20146657

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档