2011-07-11 72 views
0
{ 
     "body": "testtt", 
     "from_id": 37917395, 
    }, 
    { 
     "body": "hiii", 
     "from_id": 124769733, 
    }, 

我解析這個響應,並需要從ID信息「37917395」將在文本塊的左側,並從ID爲「124769733」的消息將在右側side.Like此:轉換/數據綁定,樣式文本塊WP7

testtt

 hiii 

消息可以是未在此order.Like:

testtt

這也我

  hiii 

我想開發這樣的事情:

sms view

我想我需要使用轉換器。請幫助我的算法。

我已經有了。 enter image description here

+0

如果你想用你的算法來幫助你,你應該告訴我們你已經擁有了。聽起來你只是想讓我們爲你做這件事。 –

+0

Okey.One片刻。 – SevenDays

回答

1

我不認爲只有轉換器就足夠了。

轉換器一次只能處理一個值,您需要使用示例控件來了解以前的值(高於此值)以便更改對齊/分組。

最好你改變你綁定到的數據的類型。首先將數據解析爲更適合顯示要求的結構。包括說一個左/右對齊值作爲屬性之一。一個轉換器將會有用於將該標誌轉換成一個對齊。

也許是時間讓你看的ViewModels :)

1

你需要確定from_id表示如果該消息應該是在左邊還是右邊。然後,您需要將其與您用來控制顯示位於左側還是右側的任何方法結合使用。

我假設你正在製作自己的控件來顯示消息。我還假設你有一個屬性來指示它是否顯示在屏幕的左側或右側。您應該將from_id綁定到該屬性,然後使用轉換器來確定消息應該在哪一側。

0

@wsevendays如果每個評論/記錄都有一個整數主鍵,那麼你可以%2這個值(找到餘數除以二),它可以是0或1,並使用它來設置一個屬性來對齊UI中的數據顯示在左側或右側。

+0

謝謝,我有答案:'字符串的UID =(字符串)值; (UID ==((App)Application.Current).UserId) return new Thickness(140,0,0,0); 返回新的厚度(5,0,0,0); ' – SevenDays

1

如果您的數據放在列表框中,您需要在列表框的ItemTemplate中使用DataTemplateSelector,第一個DataTemplate左對齊,另一個右對齊。 只需在WP7上搜索DataTemplateSelector的教程,這正是你需要的

+0

我很驚訝這不是早些時候建議的。 [www.windowsphonegeek.com](http://www.windowsphonegeek.com/articles/Implementing-Windows-Phone-7-DataTemplateSelector-and-CustomDataTemplateSelector)上WP7的DataTemplateSelectors的一個很好的教程。 –