通过XAML将Window.Content设置为页面?

时间:2009-09-03 01:49:01

标签: wpf xaml window

<Window x:Class="MyWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:src="clr-namespace:WpfApplication1"
    Title="ContactsSelector" Height="300" Width="300">
    <Window.Content>
        <src:MyPage>
           <!--MyPage is a page that I created and exists in the project--> 
        </src:MyPage>
    </Window.Content>
</Window>

我想将窗口的内容设置为页面,就像我以编程方式执行它一样:

Dim w As New MyWindow
Dim p As New MyPage
w.Content = p
w.ShowDialog()

或者在窗口的Load事件中设置它,简单地说我希望它在xaml中完成。

2 个答案:

答案 0 :(得分:9)

使用Frame元素显示页面内容。

<Window> <Frame Source="/Pages/MyPage.xaml"/> </Window>

答案 1 :(得分:4)

尝试类似这样的内容, MyPageAssembly 指向页面所在的程序集, MyPage 是页面的名称。

<Window 
    x:Class="MyWindow" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:MyPageAssembly="clr-namespace:MyPage;assembly=MyPageAssembly"
    Title="ContactsSelector" 
    Height="300" 
    Width="300"
    >
    <Window.Content>
        <MyPageAssembly:MyPage />
    </Window.Content>
</Window>