【发布时间】:2016-07-03 06:32:34
【问题描述】:
这是我正在处理的对象:
class TopNews
{
public string Id { get; set; }
public string Title { get; set; }
public string ImageURI { get; set; }
public string BodyUri { get; set; }
}
BodyURI 将是一个字符串,其中包含一个包含 .rtf 文件的 Azure Blob 的地址,例如:https://richeditbox.blob.core.windows.net/testformat.rtf 是一个可能位于 BodyURI 上的字符串。
到目前为止,这是我的 XAML 布局:
<ListView Grid.Row="1">
<ListView.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<Image />
<RichEditBox TextWrapping="WrapWholeWords"
IsReadOnly="True"
IsColorFontEnabled="True"/>
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
它丢失了很多,但我想做的是将 Azure Blob 存储中的那个 .rtf 文件的内容绑定到我的 XAML 布局中的 RichEditBox 控件。
现在,到目前为止,我在这方面所做的所有研究都表明,当然,这两者之间肯定存在一些过程。
-
我必须为 blob 设置下载:
Uri bloburi = new Uri("https://richeditbox.blob.core.windows.net/testformat.rtf"); CloudBlockBlob cBlob = new CloudBlockBlob(bloburi); -
我还发现了如何在 RichTextBox 上加载该 .rtf 文件的内容:
richEditBox.Document.SetText(TextSetOptions.FormatRtf, await cBlob.DownloadTextAsync());
我该怎么做?我在想我可以创建一个新类,比如这个:
class TopNewsProcessed
{
public string Id { get; set; }
public string ImageURI { get; set; }
public string Title { get; set; }
public RichEditBox Body { get; set; }
}
这样我就可以运行 .rtf 文件的下载过程,然后将其设置在 RichEditBox 中,但我不知道如何将其绑定到我的 XAML 布局上的 RichEditBox。这是一个好主意吗?如果是这样,那么我该如何绑定?我是否必须将Body 从RichEditBox 更改为其他内容?
【问题讨论】:
标签: c# data-binding uwp azure-blob-storage uwp-xaml