一般窗口结构模板

时间:2015-08-29 21:06:22

标签: c# wpf

对于我的WPF应用程序我想要一个适用于我的应用程序中所有窗口的特定窗口结构:

<DockPanel>
 <UCs:Toolbar DockPanel.Dock="Top"/>
 <UCs:SearchPanel DockPanel.Dock="Top"/>

 <ContentControl DockPanel.Dock="Top"
                Content="{Binding}"/>

 <StatusBar DockPanel.Dock="Bottom">
    <StatusBarItem Content="Status"/>
 </StatusBar>
</DockPanel>

这样的东西,我通过绑定在ContentControl中插入特定的用户控件。我怎样才能做到这一点?

因为我现在每个窗口都使用它:

窗口1:

<DockPanel>
 <UCs:Toolbar DockPanel.Dock="Top"/>
 <UCs:SearchPanel DockPanel.Dock="Top"/>

 <DataGrid .../>

 <StatusBar DockPanel.Dock="Bottom">
    <StatusBarItem Content="Status"/>
 </StatusBar>
</DockPanel>

窗口2:

<DockPanel>
 <UCs:Toolbar DockPanel.Dock="Top"/>
 <UCs:SearchPanel DockPanel.Dock="Top"/>

 <Grid.../>

 <StatusBar DockPanel.Dock="Bottom">
    <StatusBarItem Content="Status"/>
 </StatusBar>
</DockPanel>

如果我想更改工具栏和SearchPanel的顺序,我必须修改我的所有窗口。我希望有办法更好地处理这个......

提前谢谢

1 个答案:

答案 0 :(得分:0)

从简单到困难但优雅:

1 - 创建一个具有所有重复内容的ContentControl,并且可以托管每个窗口中不同的内容。然后在每个窗口中,首先将您的contentcontrol,然后您的信息作为其内容

2 - 为ControlTemplate创建Window并将其应用到您的窗口。