【问题标题】:Convert/Data binding, style textblock WP7转换/数据绑定,样式文本块 WP7
【发布时间】:2011-07-11 09:42:04
【问题描述】:
   {
      "body": "testtt",
      "from_id": 37917395,
    },
    {
      "body": "hiii",
      "from_id": 124769733,
    },

我解析此响应并需要来自 id "37917395" 的消息将在文本块的左侧,来自 id "124769733" 的消息将在右侧。像这样:

testtt

     hiii

消息可能不按顺序排列。像这样:

testtt

这也是我

          hiii

我想开发这样的东西:

我想我需要使用 Converter。请帮我解决算法。

我已经拥有的。

【问题讨论】:

  • 如果你想用算法来帮助你,你应该向我们展示你已经拥有的东西。听起来你只是想让我们为你做这件事。

标签: c# silverlight windows-phone-7


【解决方案1】:

我认为仅靠转换器是不够的。

转换器一次处理一个值,您需要示例控件了解前一个值(在其上方)是什么,以便更改对齐/分组。

最好更改要绑定的数据类型。首先将数据解析为更适合显示要求的结构。包括一个左/右对齐值作为属性之一。然后,转换器可用于将该标志转换为对齐方式。

也许是时候看看 ViewModel 了 :)

【讨论】:

    【解决方案2】:

    您需要确定from_id 是否指示消息应该在左侧还是右侧。然后,您需要将其与您用来控制显示在左侧还是右侧的任何方法相结合。

    我假设您正在制作自己的控件来显示消息。我还假设您有一个属性来指示它是显示在屏幕的左侧还是右侧。您应该将from_id 绑定到此属性,然后使用转换器来确定消息是否应该在哪一侧。

    【讨论】:

      【解决方案3】:

      如果您的数据放在列表框中,您需要在列表框的 ItemTemplate 中使用 DataTemplateSelector,第一个 DataTemplate 左对齐,另一个右对齐。 只需在 WP7 上搜索 DataTemplateSelector 的教程,这正是您所需要的

      【讨论】:

      • 我很惊讶这不是之前的建议。 WP7 上的 DataTemplateSelectors 的一个很好的教程www.windowsphonegeek.com
      【解决方案4】:

      @wsevendays 如果每个评论/记录都有一个整数主键,那么您可以 %2 该值(除以 2 时找到余数),该值将是 0 或 1,并使用它来设置属性以对齐数据在 UI 的左侧或右侧。

      【讨论】:

      • 谢谢,我有答案了:string UID = (string)value; if (UID == ((App)Application.Current).UserId) return new Thickness( 140,0,0,0); return new Thickness(5, 0, 0, 0);
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-04-27
      • 2014-03-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-06
      相关资源
      最近更新 更多