经过大量研究,我被困住了,因为我无法让图像动态显示。
这与这个问题几乎相同:Dynamic loading of images in WPF
这是我目前的实际代码
Dim logo As New Image
Dim logoSource As New BitmapImage
logoSource.BeginInit()
logoSource.UriSource = New Uri("../../Images/CarpeDiemLogo.gif", UriKind.Relative)
logoSource.CacheOption = BitmapCacheOption.OnLoad
logoSource.EndInit()
logo.Height = 109
logo.Width = 172
logo.HorizontalAlignment = Windows.HorizontalAlignment.Right
logo.VerticalAlignment = Windows.VerticalAlignment.Top
logo.Source = logoSource
logo.Stretch = Stretch.Uniform
g.Children.Add(logo)'Where g is a grid
如您所见,它非常相似,但我遇到了问题。我正在尝试将图像添加到用作标题模板的用户控件中,以便使用此打印引擎进行打印:http: //www.codeproject.com/Articles/238135/WPF-Print-Engine-Part-I
在打印引擎中的某个时刻,它会通过此行代码
var header = XamlReader.Parse(PrintTableDefination.HeaderTemplate) as FrameworkElement;
如果 logoSource.CacheOption = BitmapCacheOption.OnLoad 没有注释,它会告诉我“'System.Windows.Media.Imaging.BitmapImage'的初始化引发了异常'行和行位置 826。”
但是,如果该行被注释,它会通过但不显示图像。
有什么我做错了吗?Xaml 阅读器的局限性?我已经搜索并尝试了不同的方法来动态创建图像,但没有一个加载它。
任何建议都会被考虑和尝试。我此刻很绝望……
谢谢