在ListBox中显示动态绑定的HyperlinkButton的Content属性
<ListBox Name="sampleList">
<ListBox.ItemTemplate>
<DataTemplate>
<HyperlinkButton Content="{Binding}" Click="HyperlinkButton_Click"/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
设置sampleList的ItemSource属性,这样就能在ListBox中显示link1,link2,link3;
string[] list = {"link1","link2","link3"};
this.sampleList.ItemsSource = list;
在处理点击link后的事件
private void HyperlinkButton_Click(object sender, RoutedEventArgs e)
{
HyperlinkButton link = (HyperlinkButton)sender;
string uri = String.Format("/PhoneApp3;component/Page1.xaml?content={0}",link.Content);
NavigationService.Navigate(new Uri(uri, UriKind.Relative));
}
在Page1.xaml页面中添加
private void PhoneApplicationPage_Loaded(object sender, RoutedEventArgs e)
{
string str = NavigationContext.QueryString["content"].ToString();
}
得到content值
如果绑定多个值,比如:
<ListBox Name="sampleList">
<ListBox.ItemTemplate>
<DataTemplate>
<HyperlinkButton Content="{Binding linkContent}" Click="HyperlinkButton_Click"/>
<TextBlock Text="{Binding boxText}" />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
可以创建一个类,比如Elem
public class Elem
{
public string linkContent { get; set; }
public string boxText { get; set; }
}
在C#代码中添加
List<Elem> list = new List<Elem>();
Elem elem1 = new Elem();
list.Add(elem1);
this.sampleList.ItemSource = list;