【问题标题】:Wpf application with a fixed panel带有固定面板的 Wpf 应用程序
【发布时间】:2015-01-10 23:48:23
【问题描述】:

我需要使用这种类型的导航创建一个 Wpf 应用程序:

带有固定顶部面板的主屏幕,以及用作其他视图容器的窗口的其余部分。容器可以填充 0 或 1 个视图 - 永远不会出现在此容器中同时出现 2 个或更多窗口的情况。

我已经添加了我制作的这张非常幼稚的图画:

顶部的绿色面板是导航面板,当按下“A”按钮时,我需要在窗口的红色部分打开viewA。 同样,当按下“B”按钮时,我需要在窗口的红色部分打开 viewB 而不是 viewA。

我的问题:

  1. 我应该使用哪些对象来表示 viewA、viewB 和包含窗口?这些是窗户吗?页面?

  2. 在 viewA 和 viewB 之间切换的最佳方式是什么?我更喜欢避免将 viewA 和 viewB(以及我将拥有的任何其他视图)都加载到内存中,而只是隐藏\显示它们..

谢谢。

【问题讨论】:

  • 你的编程问题到底是什么?

标签: wpf xaml


【解决方案1】:

您可以将所有“绿色”内容直接放在窗口中,将“红色”内容(可能是 UserControl)放在 ContentControl 中,然后将其 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>

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-02-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-08
  • 1970-01-01
  • 2011-04-24
相关资源
最近更新 更多