2017-02-17 24 views
0

標題我有一個WPF application由單一窗口的MainWindow.xamlWPF:更改窗口的每個頁面導航

與標題Sample_Window

<Window 
    Title="Sample_Window"> 
<Grid> 
    <Frame x:Name="mainFrame" Source="/Page1.xaml" /> 
<Grid> 
</Window> 

See this image

和三個頁面:

Page1.xaml 
    Page2.xaml 
    Page3.xaml 

我的問題是什麼,我想,當我降落到Page1.xaml標題應該是Sample_Window-Page1

我試過下面一塊來改變主窗口的標題上的每個頁面導航

爲如在XAML代碼:(沒有工作)

<Page 
    WindowTitle="Sample_Window-Page1" 
    Title="Page1"> 
</Page> 

此外,在CS:(沒有工作)

Page1 mypage= new Page1(); 
mypage.WindowTitle="Sample_Window-Page1"; 

我也通過這個問題How to give title to WPF pages

走了,但沒能解決我的問題。標題仍然相同Sample_Window

回答

3

如果您的Page1標題是動態生成的(「Customer Joe Smith Details」),則您可能在Page1ViewModel上有一個名爲Title的屬性。在這種情況下,你可以簡單地從你的主窗口綁定到框架的內容的DataContext的:

<Window 
    Title="{Binding ElementName=mainFrame, Path=Content.DataContext.Title}"> 
    <Grid> 
    <Frame x:Name="mainFrame" Source="/Page1.xaml" /> 
    </Grid> 
</Window> 

如果第1頁標題是靜態文本(用標題代替WINDOWTITLE屬性),那麼就直接從主窗口綁定到它:

<Window 
    Title="{Binding ElementName=mainFrame, Path=Content.Title}"> 
    <Grid> 
    <Frame x:Name="mainFrame" Source="/Page1.xaml" /> 
    </Grid> 
</Window> 
+0

我該在哪裏寫這個?在

+0

正如我寫的「從你的MainWindow」它應該被放置在,我會更新答案,使其更清晰。 – 3615

+0

那麼它仍然沒有工作..這是我做了什麼.. <>頁面標題=「Sample_Window-Page1」/>

-1
this.Title = "Sample_Window-Page1"; 

你可以試試這個?框架不會改變窗口,所以標題保持不變,您應該更新窗口的標題,每更改一次頁面。

+0

不,它不會工作,因爲this.Title是改變頁面標題的屬性 –