在WPF中运行时从Web加载图像

时间:2016-10-11 16:47:02

标签: c# wpf

我正在尝试以非常简单的方式从WPF中的URL加载图像,但它无法正常工作。有帮助吗?代码如下:

主要XAML

<Window x:Class="WpfApplication1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:WpfApplication1"
        mc:Ignorable="d"
        Title="MainWindow" Height="350" Width="525">
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="279*"></RowDefinition>
            <RowDefinition Height="41*">                
            </RowDefinition>
        </Grid.RowDefinitions>
        <Image x:Name="image1" Grid.Row="0"></Image>
        <TextBox Grid.Row="1" Margin="0,0,10,0"></TextBox>

    </Grid>
</Window>

代码隐藏

 public partial class MainWindow : Window
    {
        public MainWindow()
        {

            InitializeComponent();

            var bi = new BitmapImage();
            bi.BeginInit();
            bi.UriSource = new Uri("http://www.clipartkid.com/images/817/pic-of-german-flag-clipart-best-VkuN37-clipart.jpeg");
            bi.EndInit();

            //var img = new Image();
            image1.Source = bi;
        }
    }

1 个答案:

答案 0 :(得分:0)

确实有趣!现在可以正常使用我的其他笔记本电脑。必须是防火墙设置的东西。而且,我现在让事情变得更简单了。将XAML中的图像源绑定到我在ViewModel类中设置的字符串属性。

<Image x:Name="image1" Source ="{Binding MyPic}" Grid.Row="0"></Image>
class MyViewModel
    {
        public string MyPic {
            get { return @"http://www.clipartkid.com/images/817/pic-of-german-flag-clipart-best-VkuN37-clipart.jpeg"; }
        }
    }

感谢您的回复,并对此感到抱歉。

-Ron