我已經寫了服務如何使用WCF返回的Dictionary <string,string>?
[OperationContract]
Dictionary<string, string> GetItemNames(UInt16 mobileNO);
我已經寫了一個簡單的Windows Mobile 7客戶端,其需要消耗由WCF服務返回的數據。
作爲一名初學者,我無法理解如何做到這一點。我曾嘗試使用簡單的數據,如字符串,int或布爾。
如何使用字典或自定義對象等複雜類型?
我已經寫了服務如何使用WCF返回的Dictionary <string,string>?
[OperationContract]
Dictionary<string, string> GetItemNames(UInt16 mobileNO);
我已經寫了一個簡單的Windows Mobile 7客戶端,其需要消耗由WCF服務返回的數據。
作爲一名初學者,我無法理解如何做到這一點。我曾嘗試使用簡單的數據,如字符串,int或布爾。
如何使用字典或自定義對象等複雜類型?
綁定到對象與綁定到基本類型沒有區別。由於字典是IEnumerable,因此您可以將其綁定到任何Items Control的ItemsSource屬性,並設置DisplayMemberPath =「Value」。
public MainPage()
{
InitializeComponent();
Dictionary<int, string> dic = new Dictionary<int, string>();
for (int i = 1; i < 11; i++)
{
dic.Add(i, string.Format("Item {0}", i));
}
lstBox.ItemsSource = dic;
}
<ListBox x:Name="lstBox"
DisplayMemberPath="Value"
Margin="5" />
對於對象下面結合是有效的:
<TextBlock Text="{Binding Object.Property}" />
如果您使用的MVVM那麼你可能想打破在視圖模型模型對象的屬性和特異性結合這一點。
在ListBox
DataTemplate
你可以用Key
和Value
報表綁定到Dictionary
<StackPanel Orientation="Horizontal" Margin="12,0">
<TextBlock Text="{Binding Key}" />
<TextBlock Text=": " />
<TextBlock Text="{Binding Value}" />
</StackPanel>
嘿感謝大衛,我的理解和解決方案heloed我! – Bindu 2011-04-21 04:56:34