XAML заместване на прозорци


0

Искам от началният си прозорец да рендирам нов във началния.

Пробвах 

 MainWindow main = new MainWindow();
            main.Show();
 
но това ми отваря нов прозорец. Някой да има идея как да стане без да се отваря нов прозорец, а като се замести началния?



Отговори



0
Мисля че начина е като подмениш цялото съдържание на прозореца. Или да имаш два фрейма в които има различно съдържание, и правиш видим единия или другия.

от JulianG (5316 точки)


0
MainWindow main = new MainWindow(); this.Content = main.Content; this.DataContext = main.DataContext;
Ей сега го направих :)

от Ico093 (55 точки)


2

Значи ако искаш директно да замениш началния прозорец най-лесно в App.xaml заместваш MainWindow.xaml.

Ако искаш да запазиш някакви части от предния прозорец мога да ти предложа да го направиш с Frame

<Frame x:Name="mainFrame" >
            <Frame.Template>
                <ControlTemplate TargetType="Frame">
в замъла, това ще ти е участъка в който можеш да зареждаш други прозорци
                </ControlTemplate>
            </Frame.Template>
 </Frame>
 В С# пишеш
mainFrame.Navigate(new OtherPage());

Можеш да погледнеш и тук

 


от stanev.plamen (1143 точки)


0
Можеш да погледнеш и тази страница http://paulstovell.com/blog/wpf-navigation

от stanev.plamen (1143 точки)