Привязка к свойству изображения - PullRequest
0 голосов
/ 02 июля 2010

Допустим, у меня есть следующий фиктивный класс:

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

и у меня есть следующее в некоторых XAML

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

Если я правильно понимаю, это не сработает, поскольку Source ожидает строковое значение URI для места хранения MyImage, но в этом случае URI отсутствует, поскольку MyImage находится в памяти.

Как мне заставить работать вышеперечисленное?

EDIT:

Вот как создается MyImage:

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

С помощью метода, который принимает строковое значение и возвращает штрих-код в растровом формате.

1 Ответ

0 голосов
/ 02 июля 2010

Свойство Source элемента управления Image имеет тип ImageSource. Ваша собственность MyImage имеет одну из доступных на MyImage.Source. Так что ваш xaml будет выглядеть как

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

обычно вы не устанавливаете DataContext напрямую, скорее вы позволяете ему наследовать от родительских элементов управления. Я сделал это только потому, что в вашем примере ваша привязка ссылается на класс Foo напрямую, а не на экземпляр

...