Silverlight WP7-数据绑定&x2B;斜体+;文字包装问题

Silverlight WP7-数据绑定&x2B;斜体+;文字包装问题,silverlight,data-binding,windows-phone-7,Silverlight,Data Binding,Windows Phone 7,这就是我要做的。我似乎还无法找到解决方案: 我有两个来自Web服务的字符串数据源,在前端,我想把它们组合成一个用逗号分隔的句子 第一部分我想要普通字体,第二部分我想要斜体 我还想把这个句子包装起来 我正在使用MVVM,所以我想知道如何将这些字符串数据源绑定到文本块 我希望能够处理的案例: 正常: 这是句子的第一部分,这是句子的第二部分 没有第二部分,所以没有逗号 例:这是句子的第一部分,我仍然希望它能够 换行 第二部分单词包装 例:这是句子的第1部分,这是句子 第2部分包装到第二行 也 第

这就是我要做的。我似乎还无法找到解决方案:

  • 我有两个来自Web服务的字符串数据源,在前端,我想把它们组合成一个用逗号分隔的句子
  • 第一部分我想要普通字体,第二部分我想要斜体
  • 我还想把这个句子包装起来
  • 我正在使用MVVM,所以我想知道如何将这些字符串数据源绑定到文本块
我希望能够处理的案例:

正常:
这是句子的第一部分,这是句子的第二部分

没有第二部分,所以没有逗号
例:这是句子的第一部分,我仍然希望它能够
换行

第二部分单词包装
例:这是句子的第1部分,这是句子
第2部分包装到第二行

  • 第二部分仅包含单词包装
  • 第一部分Wordwrapps,然后是第二部分
似乎没有简单的解决办法。
我认为它有一个PropertyChangedEventHandler,当这些字符串从Web服务器返回时,它会通知我,然后在codebehind…

中格式化字符串,以实现使用斜体格式连续换行的效果,只有在
文本块中使用
元素才能明智地实现。但是,不能绑定
Run
元素的内容,因此需要在代码中创建该元素

假设您从web服务获得两个单独的响应(它们不是从一个调用返回的),那么您无法依赖哪个响应将首先到达,因此我将使用事件聚合在收到所有必要数据时从视图模型通知视图。包括一个可用于实现此效果的实现(请注意,用于WP7的PRISM比WPF或Silverlight的对应产品轻得多)


作为对事件的响应,视图可以从视图模型中提取属性,创建
TextBlock
及其组件
Run
元素,然后进行相应更新。事实上,当您使用PRISM订阅事件时,您可以指定该事件的处理程序在UI线程上运行,这无疑会有所帮助。

我认为您可以使用
中的
来实现这一点?这可能有些过分,但是这里有一个绑定运行的解决方案-我想我的答案已经足够长了,没有进入可绑定运行:P但是你是对的,如果你真的想绑定运行是可能的。是的,谢谢你的信息!我想没有简单的好办法。