我正在尝试一些C#WPF并设置我的应用程序。通常,我会分开视图,因此在主窗口中,我想在主窗口xaml中插入子xaml文件,但找不到找到设置页面或类似内容来源的方法。
<Window x:Class="backset.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:backset"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="800">
<DockPanel>
<!-- Menu Bar -->
<Page DockPanel.Dock="Top">
<!-- How do I get this to load the MenuBar.xaml? -->
</Page>
<!-- Master -->
<Page DockPanel.Dock="Left">
<!-- This should load my MasterList.xaml -->
</Page>
<!-- Detail -->
<Page DockPanel.Dock="Right">
<!-- This should load my DetailsPage.xaml -->
</Page>
<!-- Status Bar -->
<Page DockPanel.Dock="Bottom">
<!-- This should load my StatusBar.xaml -->
</Page>
</DockPanel>
或者页面是完全错误的方法。
答案 0 :(得分:1)
我建议使用UserControl而不是Page,因为它没有所有内置的导航功能等。然后,您可以直接添加用户控件,如下所示:
<local:MenuBar DockPanel.Dock="Top"/>
或者您可以添加内容演示者并绑定内容:
<ContentPresenter DockPanel.Dock="Top" Content={Binding Path=MyMenuBarPage}/>
答案 1 :(得分:0)
我找到了解决方案。在WPF中,我可以按名称直接加载UserControl。
<Window x:Class="backset.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:backset"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="800">
<DockPanel>
<!-- Menu Bar -->
<local:MenuBar DockPanel.Dock="Top"/>
<!-- Master -->
<local:ApplicationList DockPanel.Dock="Left"/>
<!-- Detail -->
<local:ApplicationDetails DockPanel.Dock="Right"/>
<!-- Status Bar -->
<local:StatusBar DockPanel.Dock="Bottom"/>
</DockPanel>