我正在使用DataGrid并尝试执行以下数据绑定
<DataTemplate>
<Grid>
<Image Source="{Binding Data.HeroCard1}">
</Image>
</Grid>
</DataTemplate>
CustomImage的类型为BitmapImage。当我跑步时,我得到错误:
必须在与DependencyObject相同的线程上创建DependencySource
问题是这些图像作为资源存储在不同的程序集中,所以我不能只指向磁盘上的某个位置
答案 0 :(得分:1)
经过两个小时的挣扎后,我在这里发布,然后立即找到答案。问题是我在另一个线程上创建了BitmapImages。即使数据绑定的事件在UI线程上,也没关系。这有点加重但是我继续改变我的代码以确保图像只是始终从UI线程中的内存加载,现在它运行良好
答案 1 :(得分:0)
使用pack URI。
<Image Source="pack://application:,,,/AssemblyName;component/PathToImages/MyImage.png"/>
对AssemblyName,PathToImages和MyImage.png进行操作以适应您的环境。