我已经阅读了msdn文章“访问Windows Phone的联系人和日历数据”
<TextBlock Text="phone numbers" Margin="12,12,0,0"/>
<ListBox ItemsSource="{Binding Path=PhoneNumbers}" Height="60" Margin="36,0,0,0">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Text="{Binding Path=Kind, Mode=OneWay}" />
<TextBlock Grid.Column="1" Text=": " />
<TextBlock x:Name="pno" Grid.Column="2" Text="{Binding Path=PhoneNumber, Mode=OneWay}" />
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
在上面的XAML电话号码是动态绑定到TextBlock Name =“pno”(命名自己不在msdn代码中)
我想在变量中输入电话号码,如Phone_no .How ????
答案 0 :(得分:0)
不要绑定到默认的ContactPhoneNumber(不要使用名为PhoneNumbers的IEnumerable进行绑定)。
创建您自己的班级以保存电话号码数据
public class MyContactPhoneNumber
{
public PhoneNumber Phone_no {get; set;}
//other properties you want
}
并创建这些自定义联系电话号码的新集合
List<MyContactPhoneNumber> myNumbers = new List<MyContactPhoneNumber>();
然后在foreach循环中将数据从PhoneNumbers复制到MyContactPhoneNumber列表
foreach (var number in PhoneNumbers)
myNumbers.Add(new MyContactPhoneNumber
{
//...copy all properties here, for example Phone_no = number.PhoneNumber
});
然后将其绑定到UI
ListOfNumbers.ItemsSource = myNumbers;
// and in XAML
<ListBox Name="ListOfNumbers" Height="60" Margin="36,0,0,0">
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock x:Name="pno" Text="{Binding Path=Phone_no, Mode=OneWay}" />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
如果你想要双向绑定支持和更好的绑定支持,请使用ObservableCollection而不是List,并在MyContactPhoneNumber类中实现INotifyPropertyChanged。