Привязка данных WPF в образе памяти для управления изображением - PullRequest
0 голосов
/ 04 января 2011

Я использую DataGrid и пытаюсь выполнить следующую привязку данных

<DataTemplate>
                                    <Grid>
                                        <Image Source="{Binding Data.HeroCard1}">                                                
                                        </Image>                                            

                                    </Grid>
                                </DataTemplate>

CustomImage имеет тип BitmapImage. При запуске я получаю сообщение об ошибке:

Необходимо создать DependencySource в том же потоке, что и объект DependencyObject

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

Ответы [ 2 ]

1 голос
/ 04 января 2011

Хорошо, после двух часов борьбы я пишу здесь и сразу же нахожу ответ. Проблема в том, что я создавал BitmapImages в другом потоке. Даже если событие, связывающее данные, находится в потоке пользовательского интерфейса, это не имеет значения. Это немного отягчает, но я пошел дальше и изменил свой код, чтобы убедиться, что изображения всегда загружаются только из памяти в потоке пользовательского интерфейса, и теперь он работает хорошо

0 голосов
/ 04 января 2011

Используйте pack URI .

<Image Source="pack://application:,,,/AssemblyName;component/PathToImages/MyImage.png"/>

, где AssemblyName, PathToImages и MyImage.png манипулируются для соответствия вашей среде.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...