使用Web上的图像为WPF图像控制器

时间:2013-10-01 20:39:31

标签: c# .net wpf wpf-controls

我有一个图像ui元素,我需要它来显示网页上的jpg图像。

我尝试使用:

Bitmap.FromStream(new WebClient().OpenRead(url));

但它不起作用.. 我很想得到一个合适的解决方案。

1 个答案:

答案 0 :(得分:1)

您正尝试使用System.Drawing.Bitmap代替System.Windows.Media.ImageSource

您可以应用ImageSource多种方式

使用Url字符串的示例

代码:

namespace WpfApplication13
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window, INotifyPropertyChanged
    {
        public MainWindow()
        {
            InitializeComponent();
            ImageUrl = "http://stackoverflow.com/users/flair/2836444.png";
        }

        private string _imageUrl;
        public string ImageUrl
        {
            get { return _imageUrl; }
            set { _imageUrl = value; INotifyPropertyChanged("ImageUrl"); }
        }

        public event PropertyChangedEventHandler PropertyChanged;
        private void INotifyPropertyChanged(string propertyName)
        {
            if (PropertyChanged != null)
            {
                PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
            }
        }
    }
}

的Xaml:

<Window x:Class="WpfApplication13.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="428" Width="738" Name="UI" >
    <Grid DataContext="{Binding ElementName=UI}">
        <Image Source="{Binding ImageUrl}" />
    </Grid>
</Window>

结果: enter image description here