在Silverlight应用程序中导航

时间:2011-02-24 19:40:27

标签: c# silverlight mvvm

我最近进入了Silverlight,我正在尝试开发一个从XML读取数据的应用程序。

我的问题是我从未理解如何实际导航/使视图可见/隐藏/折叠,具体取决于客户端点击的按钮。例如,这个项目从XML文件读取菜单结构,我使用ItemsControl来显示这样的菜单项:

<ItemsControl ItemsSource="{Binding MenuItems}">
        <ItemsControl.ItemsPanel>
            <ItemsPanelTemplate>
                <StackPanel Orientation="Horizontal" HorizontalAlignment="Center" Width="900" Height="40"></StackPanel>
            </ItemsPanelTemplate>
        </ItemsControl.ItemsPanel>
        <ItemsControl.ItemTemplate>
            <DataTemplate>
                <Button Tag="{Binding Url}" Content="{Binding Name}" Click="Button_Click"></Button>
            </DataTemplate>
        </ItemsControl.ItemTemplate>
    </ItemsControl>

这段代码在我的MenuView.xaml中(顺便说一下我使用MVVM),在我的MainPage.xaml上我已经包含了这样的MenuView:

<views:MenuView x:Name="menu" />

现在,当用户点击其中一个按钮时,我需要在我的主页上显示正确的视图。棘手的事情(至少对我来说)是,XML文件中的内容是“类型”的,所以基本上我有这些观点:

  • TextPageView
  • NewsPageView

NewsPageView的布局与TextPageView不同,后者实际上只是一个普通的文本页面。

我应该如何使用导航框架导航/隐藏/显示这些视图不使用? : - )

希望我的问题很清楚,如果没有 - 请告诉我,我会尽力详细说明!

提前致谢。

一切顺利,

1 个答案:

答案 0 :(得分:3)

导航框架是你的朋友:)