在Windows Phone Silverlight应用程序中生成动态链接(超链接按钮)
我正在尝试构建一个应用程序,请求服务器发送项目列表;它们在windows phone页面上显示为链接。我正在使用WebClient.UploadStringAsync发布并获取项目。这篇帖子很好,我能得到回复在Windows Phone Silverlight应用程序中生成动态链接(超链接按钮),silverlight,windows-phone-7,Silverlight,Windows Phone 7,我正在尝试构建一个应用程序,请求服务器发送项目列表;它们在windows phone页面上显示为链接。我正在使用WebClient.UploadStringAsync发布并获取项目。这篇帖子很好,我能得到回复 for (int i = 0; i <= itemList.GetUpperBound(0); i++) { if (!String.IsNullOrEmpty(itemList[i, 1])) {
for (int i = 0; i <= itemList.GetUpperBound(0); i++)
{
if (!String.IsNullOrEmpty(itemList[i, 1]))
{
HyperlinkButton btn = new HyperlinkButton();
btn.Content = itemList[i, 1];
btn.TargetName = "_blank";
ItemPanel.Children.Add(btn);
}
}
UploadStringCompleted事件中创建链接并将动态链接添加到堆栈面板的选项/可能性有哪些。Hyperlink按钮也是创建链接的选项;我还想在点击链接时发表一篇文章
for (int i = 0; i <= itemList.GetUpperBound(0); i++)
{
if (!String.IsNullOrEmpty(itemList[i, 1]))
{
HyperlinkButton btn = new HyperlinkButton();
btn.Content = itemList[i, 1];
btn.TargetName = "_blank";
ItemPanel.Children.Add(btn);
}
}
我尝试使用超链接按钮,超链接中的文本块,但没有任何效果
for (int i = 0; i <= itemList.GetUpperBound(0); i++)
{
if (!String.IsNullOrEmpty(itemList[i, 1]))
{
HyperlinkButton btn = new HyperlinkButton();
btn.Content = itemList[i, 1];
btn.TargetName = "_blank";
ItemPanel.Children.Add(btn);
}
}
有什么建议吗
for (int i = 0; i <= itemList.GetUpperBound(0); i++)
{
if (!String.IsNullOrEmpty(itemList[i, 1]))
{
HyperlinkButton btn = new HyperlinkButton();
btn.Content = itemList[i, 1];
btn.TargetName = "_blank";
ItemPanel.Children.Add(btn);
}
}
谢谢大家的建议;我犯的错误是没有设置HyperLinkButton的TargetName属性。我把它调好后就开始工作了
for (int i = 0; i <= itemList.GetUpperBound(0); i++)
{
if (!String.IsNullOrEmpty(itemList[i, 1]))
{
HyperlinkButton btn = new HyperlinkButton();
btn.Content = itemList[i, 1];
btn.TargetName = "_blank";
ItemPanel.Children.Add(btn);
}
}
for(inti=0;iinline元素有什么不对
for (int i = 0; i <= itemList.GetUpperBound(0); i++)
{
if (!String.IsNullOrEmpty(itemList[i, 1]))
{
HyperlinkButton btn = new HyperlinkButton();
btn.Content = itemList[i, 1];
btn.TargetName = "_blank";
ItemPanel.Children.Add(btn);
}
}
<RichTextBox IsReadOnly="True">
<Paragraph>
Displaying text with <Hyperlink NavigateUri="http://www.msdn.com">hyperlink</Hyperlink>.
</Paragraph>
</RichTextBox>
显示带有超链接的文本。
更多的例子
for (int i = 0; i <= itemList.GetUpperBound(0); i++)
{
if (!String.IsNullOrEmpty(itemList[i, 1]))
{
HyperlinkButton btn = new HyperlinkButton();
btn.Content = itemList[i, 1];
btn.TargetName = "_blank";
ItemPanel.Children.Add(btn);
}
}
您可以在导航上附加事件处理程序,并在那里执行POST请求。您可以使用带有数据绑定的列表框
,而不是堆栈面板
。列表中的每一行都是一个超链接按钮
for (int i = 0; i <= itemList.GetUpperBound(0); i++)
{
if (!String.IsNullOrEmpty(itemList[i, 1]))
{
HyperlinkButton btn = new HyperlinkButton();
btn.Content = itemList[i, 1];
btn.TargetName = "_blank";
ItemPanel.Children.Add(btn);
}
}
带有项目模板的列表框:
for (int i = 0; i <= itemList.GetUpperBound(0); i++)
{
if (!String.IsNullOrEmpty(itemList[i, 1]))
{
HyperlinkButton btn = new HyperlinkButton();
btn.Content = itemList[i, 1];
btn.TargetName = "_blank";
ItemPanel.Children.Add(btn);
}
}
<ListBox HorizontalAlignment="Stretch" Margin="12,6,0,0" Name="listBox1" VerticalAlignment="Top" VerticalContentAlignment="Stretch">
<ListBox.ItemTemplate>
<DataTemplate>
<HyperlinkButton Content="{Binding}" Click="HyperlinkButton_Click" />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
代码隐藏:
for (int i = 0; i <= itemList.GetUpperBound(0); i++)
{
if (!String.IsNullOrEmpty(itemList[i, 1]))
{
HyperlinkButton btn = new HyperlinkButton();
btn.Content = itemList[i, 1];
btn.TargetName = "_blank";
ItemPanel.Children.Add(btn);
}
}
// handler is executed when a HyperlinkButton was pressed by user
private void HyperlinkButton_Click(object sender, RoutedEventArgs e)
{
// get the clicked button and show its content (which is the URL)
// (you would do your POST here)
MessageBox.Show("Clicked URL " + ((HyperlinkButton)sender).Content);
}
private void button1_Click(object sender, RoutedEventArgs e)
{
// prepare some demo data
List<string> urls = new List<string>();
urls.Add("http://www.stackoverflow.com");
urls.Add("http://www.google.com");
// set list or URLs as item source of list box; each URL will have its own button
listBox1.ItemsSource = urls;
}
//当用户按下HyperlinkButton时执行处理程序
私有无效超链接按钮\单击(对象发送者,路由目标e)
{
//获取单击的按钮并显示其内容(即URL)
//(你可以在这里发帖)
显示(“单击的URL”+((HyperlinkButton)发件人).Content);
}
私有无效按钮1\u单击(对象发送者,路由目标)
{
//准备一些演示数据
列表URL=新列表();
URL.Add(“http://www.stackoverflow.com");
URL.Add(“http://www.google.com");
//将列表或URL设置为列表框的项目源;每个URL都有自己的按钮
listBox1.ItemsSource=URL;
}
Meep.已经停止使用HyperlinkButton
了。Mango有一个元素,它不需要密集的样式就可以看起来可读。我也会尝试这两个选项,看看它们的行为和性能。@Claus你的意思是超链接比按钮更好。是的,非常好。因为它实际上是为这个目的而设计的。HyperLinkButton是Silverlight的一个遗留项,它需要大量的样式才能看起来可读。@Claus我可以将RichText
的超链接绑定到一个项目列表,或者我必须通过代码生成它们吗?你可以像添加任何其他元素一样轻松地将它们添加到DataTemplate
中。但是,如果它是纯链接,也可以使用w,并附加命令绑定。(通常超链接与文本结合使用)