2010-07-02 94 views
0

比方說,我有以下的僞類:綁定到映像屬性

public class Foo 
    { 
     public Image MyImage 
     { 
      get; 
      set; 
     } 
    } 

,並在一些XAML

<Image Source="{Binding Foo.MyImage}"/> 

如果我理解這個正確的,這並不因爲工作,我有以下源期望爲存儲MyImage的URI字符串值,但在這種情況下,由於MyImage在內存中,因此不存在URI。

我怎樣才能讓上述工作?

編輯:

這是如何被創建MYIMAGE:

private void CreateBarCode(string bcValue) 
    { 
     Code128 bc128 = new Code128(); 
     bc128.HumanReadable = Code128.TextWhere.Below; 
     this.MyImage = new Bitmap(bc128.Generate(bcValue)); 
    } 

通過它需要一個字符串值,並返回條形碼它是位圖格式的方法。

+0

可能的重複[從System.Drawing.Bitmap加載WPF BitmapImage](http://stackoverflow.com/questions/ 94456/load-a-wpf-bitmapimage-from-a-system-drawing-bitmap) – Nathan 2010-07-02 21:54:57

回答

0

Image控件的Source屬性的類型爲ImageSource。您的MyImage屬性有MyImage.Source可訪問的屬性之一。所以你的xaml看起來像

<Image DataContext={Binding Path=_anInstanceOfClassFoo} Source="{Binding Path=MyImage.Source}"/> 

通常你不直接設置DataContext,而是讓它從父控件繼承。我只這樣做是因爲在你的例子中,你的綁定直接引用Foo類而不是實例

+0

所以即使MyImage是通過方法創建的,它仍然有一個源代碼? – Nathan 2010-07-02 15:23:35

+0

Source只是System.Windows.Controls.Image類中的ImageSource類型的一個屬性。你目前如何生成你的MyImage對象? – kenwarner 2010-07-02 15:38:28

+0

qntmfred請參閱我上面的編輯。 – Nathan 2010-07-02 16:55:16