【发布时间】:2011-02-24 19:40:27
【问题描述】:
我最近进入了 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 文件的内容是“类型”的,所以基本上我有这些观点:
- 文本页面视图
- NewsPageView
NewsPageView 的布局与 TextPageView 不同,后者实际上只是一个常规的文本页面。
我应该如何不使用导航框架来导航/隐藏/显示这些视图? :-)
希望我的问题很清楚,如果没有,请告诉我,我会尽力详细说明!
提前致谢。
一切顺利,
博
【问题讨论】:
标签: c# silverlight mvvm