1

我正在尝试使窗口布局可从不同的窗口使用。 在此处输入图像描述

从图片中可以看出,我在窗口底部有一个徽标、一个左侧垂直进度条和两个控制按钮(加上菜单栏和状态栏)。

这些部分在不同的窗口中应该始终相同,并且播放/停止应该在运行时与公共部分进行交互,但也应该与窗口中间的部分进行交互(“每个窗口中的部分不同”)。

我不明白我应该使用什么来创建可从我需要的每个窗口调用的标准布局,以某种方式制作,我可以将这些窗口中的每一个替换为中间部分。

有小费吗?我可能只需要了解要走的路(很遗憾成为 c# wpf 新手)!

4

2 回答 2

3

您可以使用内容控件,然后只需切换内容

区域的母版页

这个链接有你需要的。如果要进行大量内容切换,可以将页面模板放在单独的文件中

于 2012-06-06T15:46:11.790 回答
0

如果您创建一个用户控件,<ContentPresenter>其中包含您希望变量内容所在的位置,您可以将自己的控件注入到用户控件中。

用户控件如下所示:

<UserControl>
  <Grid>
    <!-- Header Stuff -->

    <ContentPresenter Name="MyContentPresenter" />

    <!-- Footer Stuff -->
  </Grid>
</UserControl>

在您的窗口中,您将拥有:

<Window>
  <Grid>
    <MyUserControl>
      <MyUserControl.Content>
        <!-- your window specific code here -->
      </MyUserControl.Content>
    </MyUserControl>
  </Grid>
</Window>

您需要在用户控件上公开一个名为 Content 的属性,该属性返回/设置用户控件上 ContentPresenter 元素的 Content 属性。

在用户控件的代码隐藏中:

public object Content
{ 
  get { return MyContentPresenter.Content; } 
  set { MyContentPresenter.Content = value; } 
}
于 2012-06-06T15:56:02.843 回答