1

Listbox SelectionChanged で別のページに移動しているときに、リストボックスの項目インデックスを送信するのではなく、テキストブロックの値を渡したいと思います。どうやってやるの???

4

3 に答える 3

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 に答える
0

新しい DataBound アプリケーションを作成します。

生成されたソースを見てください。これを正確に行う方法の例を示します。

于 2012-05-25T08:32:28.693 に答える