在控制模板中从Web加载图像的问题

时间:2013-01-03 15:39:21

标签: image web controls

在控制模板中从网站加载图片时出现问题

我尝试从数据库中读取html内容并在页面中显示:

我为此控件设计了一个控件模板,generic.xaml喜欢以下内容:

<Style TargetType="q:ChoiceQuestion">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="q:ChoiceQuestion">
                    <RichTextBlock x:Name="QuestionTitleTextBlock" VerticalAlignment="Center">
                        <Paragraph x:Name="QuestionTitleParagraph">
                            <Run Text="{Binding OrderNumber}"></Run>
                        </Paragraph>
                    </RichTextBlock>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

我从html内容中获取这些图片并将其添加到QuestionTitleParagraph,因此我编写以下代码以在OnApplyTemplate中显示图像:

public override void OnApplyTemplate()
        {
            base.OnApplyTemplate();

            // Get the image url from database, the following image is just for test
            ImageSource imageSource = new BitmapImage(new Uri("http://localhost:8081/uploadfile/2012/07/19/temp1.png",
     

UriKind.Absolute));                   Image img = new Image();                   img.Source = imageSource;                   img.Width = 100;                   img.Height = 100;

            // Add the image to QuestionTitleParagraph
            QuestionTitleParagraph = (Paragraph)base.GetTemplateChild("QuestionTitleParagraph");
            InlineUIContainer container = new InlineUIContainer();
            container.Child = img;
            QuestionTitleParagraph.Inlines.Add(container);
        }

我的问题是它只显示我页面中的空白图像,并且大小与我所设想的相同(100 * 100)。如何在控制模板中动态显示图像?我确信图片网址是有效的,我可以在richtextblock中显示它而不是在控件模板中。我发现如果我没有为图像设置宽度和高度,它也无法在richtextblock中显示。

1 个答案:

答案 0 :(得分:1)

你试图改变图片格式吗?