Я работаю с Winforms, CAB, C # и Infragistics. Я пытаюсь работать с MVP с моим бэкэндом, связанным с WCF.
В моем докладчике моя модель, назовем ее AgreementDataContract. Этот контракт данных имеет несколько атрибутов:
...
[DataMember]
public byte[] PVImage { get; set; }
[DataMember]
public byte[] OntwerpImage { get; set; }
[DataMember]
public Decimal WattpiekPrijs { get; set; }
...
Вы заметите, что изображение хранится в байтах []. Я связываю эти атрибуты с элементами управления моего пользовательского элемента управления:
BindingHelper.BindField(_ultraPictureBoxPV, "Image", _bindingSource, "PVImage");
BindingHelper.BindField(_ultraPictureBoxOntwerp, "Image", _bindingSource, "OntwerpImage");
BindingHelper просто добавляет BindingContext к указанному контроллеру (control.BindingContext.Add (...)).
В любом случае, проблема: контракт данных содержит изображение в виде байта, в то время как я привязываюсь к изображению. Это приводит к тому, что атрибут остается «нулевым», потому что он не хочет помещать изображение в byteArray;)
Я пытался поиграть с этим, но я думаю, что у меня есть 2 возможности:
Могу ли я использовать какой-то конвертер? Поэтому, когда изображение вставляется, оно передается как byteArray вместо изображения в модель (= привязка данных).
Я могу отбросить привязку и создать событие, когда форма «отправлена», преобразовать изображение в byteArray и заполнить модель. (= нет привязки данных)
TL; DR; Знаете ли вы, как "преобразовать" изображение в байтовый массив при его передаче в привязку данных?
Надеюсь, мой вопрос понятен! Спасибо за помощь