1. 程式人生 > >WPF bind baidu Image

WPF bind baidu Image

ati request mage alignment pre pos read using name

as there baidu image has protect refer from other site to use.

need download i use request header add referer:http://www.baidu.com

<Window x:Class="WpfApplication1.WindMsg"

xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="WindMsg" Height="300" Width="300" Closing="Window_Closing" Loaded="Window_Loaded"> <Grid> <Image Name="img" Stretch="Uniform" Source="{Binding BitmapImg}"/> <Button Content="{Binding Text}" Height="65" HorizontalAlignment="Left" Margin="58,48,0,0" Name="button1" VerticalAlignment="Top" Width="160" Click="button1_Click" /> </Grid></Window>

public WindMsg() { InitializeComponent(); d = new ImageData() { Url = "http://img0.imgtn.bdimg.com/it/u=3028557787,2951839071&fm=15&gp=0.jpg", Text = "test button text" }; this.DataContext = d; } ImageData d; public class ImageData { public string Url { get; set; } public string Text { get; set; } public ImageSource BitmapImg { get { return GetImageData(); } set { } } BitmapImage GetImageData() { using (WebClient wc = new WebClient()) { wc.Headers.Add("Referer", "http://www.baidu.com"); Stream stream = wc.OpenRead(Url); BitmapImage b = new BitmapImage(); b.BeginInit(); b.StreamSource = stream; b.EndInit(); return b; } } }

WPF bind baidu Image