0

经过大量研究,我被困住了,因为我无法让图像动态显示。

这与这个问题几乎相同: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 阅读器的局限性?我已经搜索并尝试了不同的方法来动态创建图像,但没有一个加载它。

任何建议都会被考虑和尝试。我此刻很绝望……

谢谢

4

1 回答 1

0

我最终修改了打印引擎的源代码,并将标题传递给打印标题的函数,我将替换在标题模板中放置的标签内容中的“@title”。

可悲的是,这并没有回答最初的问题,但对我来说这是一种解决方法。

于 2012-12-01T20:11:33.070 回答