2009-09-03 21 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> 

Bir pencerenin içeriğini bir sayfaya ayarlamak istiyorum, tıpkı programlı olarak yaptığım gibi:XAML tarafından bir sayfaya Window.Content?

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

Ya da pencerenin Yükleme olayı olarak ayarladığımdan, özetle yapılmasını istiyorum xaml.

cevap

9

Sayfanın içeriğini göstermek için Çerçeve öğesini kullanın.

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

deneyin bir şey, sayfasının bulunduğu meclise MyPageAssembly noktaları ve MyPage'de Sayfa adıdır.

<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

Seçici tarzı noktası: İçerik Penceresi içeriği mülkiyet olduğundan, size Window.Content belirtmek gerekmez:: Bu kod eşdeğerdir. – itowlson

+0

Bu kod yayınlamadan önce sizin için çalıştı ve sizin için çalıştı ??? cuz zaten soruyu sormadan önce denedim ve şu hatayı alıyorum: "Ben bir tür örneği 'MyPage' oluşturulamadı.", cevabınız yanlış bilgi için -1 değeri hak ediyorsanız doing ITS – Shimmy

+0

Ben bu gibi birçok kodu kullandım Daha önce bir kez, eğer sizin için işe yaramadıysa, orijinal sorunuzda bahsettiysen yararlı olabilirdi. Aklımdaki okuma yetenekleri biraz paslı ... xmlns'in doğru bir şekilde tanımlandığından emin misiniz? MyPage yapıcınızda, bu koddaki bir özel durumun istisna atıp atmadığını görmek için bir kesme noktası eklemeyi denediniz mi? – user112889