2013-11-05 115 views
1

我正在使用mvvm模式開發wpf中的應用程序。如何在wpf中將圖像加載到圖像控件?

在我的應用程序中,我需要選擇一個圖像並顯示在窗體中,然後將其保存到數據庫。

在wpf形式中,我使用圖像控件來顯示圖像。

在我的視圖模型中,我打開文件對話框並指定圖像屬性。

BitmapImage image; 
public BitmapImage Image 
{ 
    get { return image; } 
    set 
    { 
     image = value; 
     RaisePropertyChanged("Image"); 
    } 
} 

... 

OpenFileDialog file = new OpenFileDialog(); 
Nullable<bool> result =file.ShowDialog(); 

if (File.Exists(file.FileName)) 
{ 
    image = new BitmapImage(); 
    image.BeginInit(); 
    image.UriSource = new Uri(file.FileName, UriKind.Absolute); 
    image.EndInit(); 
} 

我的XAML部分

<Image Height="144" HorizontalAlignment="Left" Source="{Binding Image}" 
     Margin="118,144,0,0" Name="imgData" Stretch="Fill" VerticalAlignment="Top" Width="340" /> 

我無法看到在形成圖像。 請幫助我。

謝謝。 NS

+0

可能重複的[WPF圖像控制源](http://stackoverflow.com/questions/1241156/wpf-image-control-source) – Sascha

回答

2

你必須指定Image財產,而不是image領域。否則PropertyChanged事件不會引發:

if (File.Exists(file.FileName)) 
{ 
    Image = new BitmapImage(new Uri(file.FileName, UriKind.Absolute)); 
} 

也請注意,這將是有意義的申報Image屬性爲ImageSource類型,這是一個基類的BitmapImage的。這將允許將來自ImageSource的其他類型的實例分配給該屬性,例如, BitmapFrameWriteableBitmap

+0

謝謝。有效。 – SNS

相關問題