Почему этот SetBinding ImageSourceProperty не работает?

let mtvCapView = Rendering.MTViewerCaptureViewProvider(subRead)
let image = Image()
let imageBinding = Data.Binding("ImageElement")
imageBinding.Source <- mtvCapView
image.SetBinding(Image.SourceProperty, imageBinding)
....
Grid.SetColumn(image, 1) 
grid.Children.Add(image)    

Класс MTViewerCaptureViewProvider предоставляет свойство ImageElement, которое здесь установлено и должно работать. Если я:

Grid.SetColumn(mtvCapView.ImageElement, 1) 
grid.Children.Add(mtvCapView.ImageElement)

Это работает. Почему другой нет?


person mkocubinski    schedule 07.09.2010    source источник


Ответы (1)


Если я посмотрю на имена переменных и свойств, я думаю, вы пытаетесь установить изображение в качестве источника изображения:

MTViewerCaptureViewProvider имеет свойство ImageElement. Если имя правильное, оно уже дает вам Image, а не ImageSource. В привязке вы пытаетесь привязать это изображение к ImageSource вашего вновь созданного изображения.

Возможно, существует TypeConverter для Image в ImageSource, который неявно используется, но я так не думаю. Попробуйте либо использовать сам Image, либо получить ImageSource из MTViewerCaptureViewProvider.ImageElement.

Если вы работаете с VisualStudio, посмотрите в окно вывода. Исключения привязки будут показаны там.

person HCL    schedule 07.09.2010
comment
Спасибо .. это было очень полезно. - person mkocubinski; 08.09.2010