在控件模板中从 Web 加载图像时出现问题
我尝试从数据库中读取 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 中显示图像:</p>
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)); 图片 img = new Image(); img.Source = imageSource; img.Width = 100; img.高度 = 100;
// Add the image to QuestionTitleParagraph QuestionTitleParagraph = (Paragraph)base.GetTemplateChild("QuestionTitleParagraph"); InlineUIContainer container = new InlineUIContainer(); container.Child = img; QuestionTitleParagraph.Inlines.Add(container); }
我的问题是它只在我的页面中显示一个空白图像,并且尺寸与我设计的一样(100 * 100)。如何在控件模板中动态显示图像?我确定图像 url 是有效的,我可以在richtextblock 中而不是在控件模板中显示它。而且我发现如果我不设置图像的宽度和高度,它也无法在richtextblock中显示。