我需要使用这种类型的导航创建一个Wpf应用程序:
带有固定顶部面板的主屏幕,以及充当其他视图容器的窗口的其余部分。容器可以填充0或1个视图 - 在此容器中当时应该看到2个或更多窗口时,情况永远不会出现。
我已经添加了这张非常幼稚的画作:
顶部绿色面板是导航面板,按下" A"按钮,我需要在窗口的红色部分打开viewA。 同样,按下" B"按钮,我需要在窗口的红色部分打开viewB而不是viewA。
我的问题:
我应该使用哪些对象来表示viewA,viewB和包含窗口?这些是Windows吗?网页?
在viewA和viewB之间切换的最佳方法是什么?我更喜欢避免将viewA和viewB(以及我将拥有的任何其他视图)同时加载到内存中,只需隐藏\显示它们。
感谢。
答案 0 :(得分:0)
你可以把所有的" Green"直接在你的窗口和"红色"在ContentControl中的东西(可能是UserControl),然后将它的Content属性绑定到红色的东西。所以它是这样的:
<Window x:Class="garbage.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition Height="3*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<!--Green stuff-->
<Button Content="A" />
<Button Content="B" Grid.Column="1"/>
<ContentControl Grid.Row="1" Grid.ColumnSpan="2" Content="{Binding RedStuff}">
</ContentControl>
</Grid>