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

Chcę ustawić zawartość okna do strony, tak jak byłoby to zrobić programowo:Ustaw Window.Content na stronie przez XAML?

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

lub ustaw go w przypadku obciążenia okna doraźnym chcę go mieć Sporządzono w Xaml.

Odpowiedz

9

Użyj elementu Ramka, aby wyświetlić zawartość strony.

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

spróbować czegoś takiego, gdzie MyPageAssembly punkty do zespołu, gdzie strona zamieszkuje i MojaStrona to nazwa strony.

<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

Picky punkt styl: ponieważ zawartość jest własnością zawartość okna, nie trzeba określać Window.Content: kod ten jest równoważny ​​. – itowlson

+0

Czy ten kod przed publikacją i pracował dla Ciebie? ponieważ próbowałem już przed zadawaniem pytania i otrzymałem następujący błąd: "Nie można utworzyć wystąpienia typu" Moja strona "." Daję radę, gdyby twoja odpowiedź zasługiwała -1 na niepoprawne informacje. – Shimmy

+0

Użyłem kodu takiego jak ten wiele razy wcześniej, a jeśli to nie działało dla Ciebie, może to było przydatne, gdybyś wspomniał o tym w oryginalnym pytaniu. Moje zdolności czytania umysłu są nieco zardzewiałe ... Czy jesteś pewien, że xmlns jest poprawnie zdefiniowany? Czy próbowałeś dodać punkt przerwania w konstruktorze MyPage, aby sprawdzić, czy coś w tym kodzie zgłasza wyjątek? – user112889