您好我需要您的帮助: -
我有一组用逗号分隔的字符串类型的电话号码,现在我想将每个电话号码分配给超链接,点击它会调用PhoneCallTask并拨打该特定电话号码。
1)那么,如何将每个电话号码分配给超链接(我们应该在c#代码隐藏中动态生成超链接吗?)
2)如果是这样,如何动态生成超链接按钮并将其添加到列表框中的堆栈面板?
3)我怎么知道点击了哪个超链接按钮?
4)所有HyperlinkButton都指向相同的超链接点击事件?
先谢谢。
答案 0 :(得分:3)
在MainPage.xaml中,将其添加到ContentPanel控件中:
<ListBox x:Name="PhoneNumbersList">
<ListBox.ItemTemplate>
<DataTemplate>
<HyperlinkButton Content="{Binding}" Click="PhoneNumberHyperlinkButton_Click" />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
然后,在后面的MainPage代码中,添加以下代码:
public MainPage()
{
InitializeComponent();
var phoneNumbers = new string[] { "9999999", "8888888", "7777777" };
PhoneNumbersList.ItemsSource = phoneNumbers;
}
private void PhoneNumberHyperlinkButton_Click(object sender, RoutedEventArgs e)
{
var phoneNumberHyperlinkButton = (HyperlinkButton)sender;
var phoneNumber = (string)phoneNumberHyperlinkButton.Content;
new Microsoft.Phone.Tasks.PhoneCallTask()
{
PhoneNumber = phoneNumber
}.Show();
}
就是这样!