我写了一个服务
[OperationContract]
Dictionary<string, string> GetItemNames(UInt16 mobileNO);
我编写了一个简单的windows mobile 7客户端,它需要使用wcf服务返回的数据。
作为一名初学者,我无法理解如何做到这一点。我尝试过使用像string,int或bool这样的简单数据。
如何使用字典或自定义对象等复杂类型?
答案 0 :(得分:0)
绑定到对象与绑定到基本类型没有什么不同。由于字典是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,那么您可能希望在ViewModel中分解模型对象的属性并专门绑定到该属性。
答案 1 :(得分:0)
在ListBox
DataTemplate
中,您可以将Key
和Value
语句绑定到Dictionary
<StackPanel Orientation="Horizontal" Margin="12,0">
<TextBlock Text="{Binding Key}" />
<TextBlock Text=": " />
<TextBlock Text="{Binding Value}" />
</StackPanel>