0

嗨,我有一个要求,我需要你的帮助:-

我有一组用逗号分隔的字符串类型的电话号码,现在我想将每个电话号码分配给超链接,单击它会调用 PhoneCallTask​​ 并拨打该特定电话号码。

1)那么,如何将每个电话号码分配给一个超链接(我们应该动态生成超链接吗?在c#代码隐藏中)

2)如果是这样,如何动态生成超链接按钮并将其添加到列表框中的堆栈面板?

3)我怎么知道点击了哪个超链接按钮?

4)所有的超链接按钮都指向同一个超链接点击事件?

提前致谢。

4

1 回答 1

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();
}

就是这样!

于 2012-04-11T12:18:15.787 回答