【问题标题】:how to get listbox selected item value passing to another page for windows phone 7?如何获取列表框选定项值传递到 Windows Phone 7 的另一个页面?
【发布时间】:2013-03-22 08:49:45
【问题描述】:

您好,我正在使用下面给出的 xaml 文件。我想将所选项目值获取到详细信息视图。

<StackPanel Width="Auto">
<StackPanel VerticalAlignment="Top" Width="Auto">
    <ListBox ItemsSource="{Binding Images}"  Width="Auto" ScrollViewer.VerticalScrollBarVisibility="Disabled" SelectionChanged="NotchsList11_SelectionChanged">
        <ListBox.ItemsPanel>
            <ItemsPanelTemplate>
             <StackPanel Orientation="Horizontal"  VerticalAlignment="Top">
            </StackPanel>
                </ItemsPanelTemplate>
                   </ListBox.ItemsPanel>
                    <ListBox.ItemTemplate>
                       <DataTemplate>
                          <Border BorderBrush="White" Margin="0,0,8,0" BorderThickness="1">
                            <Image Source="{Binding}" Width="152" Height="90"  Stretch="Fill"  VerticalAlignment="Top"></Image>
                          </Border>
                            </DataTemplate>
                                </ListBox.ItemTemplate>
                         </ListBox>
                      </StackPanel>
                     <StackPanel Orientation="Horizontal"  VerticalAlignment="Top"  ScrollViewer.VerticalScrollBarVisibility="Disabled" Width="Auto">
                    <ListBox ItemsSource="{Binding Titles}"   ScrollViewer.VerticalScrollBarVisibility="Disabled" SelectionChanged="NotchsList11_SelectionChanged">
                   <ListBox.ItemsPanel>
                         <ItemsPanelTemplate>
                        <StackPanel Orientation="Horizontal">
                        </StackPanel>
                          </ItemsPanelTemplate>
                            </ListBox.ItemsPanel>
                               <ListBox.ItemTemplate>
                                    <DataTemplate >
                                        <Border BorderBrush="White" Margin="0,0,8,0"
                                            BorderThickness="1"> 
                                       <TextBlock Text="{Binding}"  Width="152" Height="80" Padding="5,10,0,0"  TextWrapping="Wrap"></TextBlock>    
                                        </Border>
                                    </DataTemplate>
                                </ListBox.ItemTemplate>
                            </ListBox>
                    </StackPanel>
                    </StackPanel>

我的 Main.Cs 代码

private void NotchsList11_SelectionChanged(object sender, SelectionChangedEventArgs e)
    {

            NavigationService.Navigate(new Uri("/Test.xaml?parameter={0}",UriKind.Relative));
            //NavigationService.Navigate(new Uri("/Page1.xaml?parameter=test", UriKind.Relative));
        }

    }   

我用了这个东西,我不能用选定的项目去其他页面。 我想要如下图所示的输出

【问题讨论】:

    标签: windows-phone-7 c#-4.0 linq-to-xml


    【解决方案1】:

    简单有效的方法 - 有一个ViewModel。选择项目后(挂钩SelectionChanged 事件处理程序),将实例传递给ViewModel 并导航到将显示项目详细信息的第二页。确保页面绑定到ViewModel 并简单地从您传入的项目中读取。

    【讨论】:

    • 嗨,我没有使用 MVVM 类型。我将值直接传递到另一个页面。
    • 这是您更好的选择之一(非常基本的 MVVM)。有关更多选项,请参阅此答案:stackoverflow.com/a/4728343/303696
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-29
    • 1970-01-01
    相关资源
    最近更新 更多