2009-09-03 13 views
5
<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> 

私はプログラム的にそれを行うのと同じように、ページにウィンドウの内容を設定したい:即決私はそれになりたい、XAMLによってページにウィンドウを設定しますか?

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

またはウィンドウのLoadイベントでそれを設定しますxamlで完了しました。

答えて

9

ページの内容を表示するには、Frame要素を使用します。

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

は、あなたのページが存在し、マイページは、ページの名前でアセンブリにMyPageAssemblyポイントこのような何かを、試してみてください。

<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> 
+0

気むずかしスタイルのポイントは:コンテンツは、ウィンドウのcontentプロパティであるため、あなたはWindow.Contentを指定する必要はありません::このコードはに相当します。 – itowlson

+0

公開前にこのコードはありますか?私の質問をする前に既に試してみましたが、次のようなエラーが表示されました: "タイプ 'MyPage'のインスタンスを作成できませんでした。"あなたの答えが不正確な情報の場合-1となるでしょうか? – Shimmy

+0

あなたの元の質問でそれを言及していたのなら、それは役に立つかもしれません。私の読書能力は少し錆びています... xmlnsが正しく定義されていますか? MyPageコンストラクタにブレークポイントを追加して、そのコード内の何かが例外をスローするかどうか確認しましたか? – user112889