在导航到 Listbox SelectionChanged 上的另一个页面时,我想用它传递文本块值,而不是发送列表框的项目索引。我怎样才能做到这一点???
问问题
501 次
3 回答
0
创建一个新的数据绑定应用程序。
查看生成的源代码。它显示了如何做到这一点的示例。
于 2012-05-25T08:32:28.693 回答
0
请尝试以下操作:
XAML 源代码中的 ListBox:
<ListBox x:Name="listBox" FontSize="26" SelectionChanged="listBox_SelectionChanged">
<ListBoxItem Content="Item1"/>
<ListBoxItem Content="Item2"/>
<ListBoxItem Content="Item3"/>
<ListBoxItem Content="Item4"/>
<ListBoxItem Content="Item5"/>
<ListBoxItem Content="Item6"/>
</ListBox>
在 .xaml.cs 代码中:
public void SurahsList_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
string r = ((ListBox)sender).SelectedValue.ToString();
NavigationService.Navigate(new Uri("/page.xaml?selecteItem=" + r, UriKind.Relative));
}
在 page.xaml.cs 代码中:
protected override void OnNavigatedTo(NavigationEventArgs e)
{
try
{
string selectedItem= "";
if (NavigationContext.QueryString.TryGetValue("selectedItem", out selectedItem))
{
if(null != selectedItem) {
// your code
}
}
}
catch (Exception ex)
{
if (System.Diagnostics.Debugger.IsAttached)
{
MessageBox.Show(ex.Message);
}
}
}
于 2013-08-25T10:57:19.090 回答
0
为了获得选定的 ListBoxItem,您只需执行以下操作:
private void btnGetSelected_Click(object sender, RoutedEventArgs e)
{
ListBoxItem selectedItem =this.listBox.ItemContainerGenerator.ContainerFromItem(this.listBox.SelectedItem) as ListBoxItem;
var textblock = selectedItem.Content
}
于 2012-05-25T05:59:47.410 回答