Diskuze: zobrazení okna v části hlavního okna (WPF)
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 7 zpráv z 7.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Na to se používá WPF Page. Je to v podstatě totéž, jako okno, ale nemá to property, které jsou vlastní oknu, jako je window border style nebo title. Jinak se to chová nemlich stejně, můžeš v tom defacto napsat xaml okno, je to normální. V aplikaci se pak WPF Page zobrazuje v kontrolce PageView, kterou si do okna umístíš tam, kde chceš mít "vnitřní okno" zobrazené.
Pokud potřebuješ vykonat nějaký kód v rámci inicializace, pak si rozklikni soubor App.xaml. Nahoře v propertách smaž StartupUri="MainWindow.xaml" a napiš tam Startup="OnStartup".
Pak se přesuň do souboru App.xaml.cs a přidej si metodu na vykonání.
private void OnStartup(object sender, StartupEventArgs e)
{
//tvůj potřebný kód
Window w = new MainWindow();
w.Show();
}
Určitě dalo. Ten význam odlišující Page a UserControl je vyloženě sémantický, zatímco page je nějaká větší část aplikace (jedno z mnoha "pod oken" aplikace, např. menu, obrazovka s nastavením...) tak UserControl je opravdu myšleno jako dílčí část aplikace, stejně jako ostatní Controls jako CheckBox, Textbox atd. Počítá se tedy s tím, že page je nějaký větší celek kontrolek sdružující jednu funkcionalitu, který se v aplikaci vyskytne právě jednou. Naopak UserControl je menší strukturka, která se může vyskytnout opakovaně, stejně jako ostatní kontrolky.
Proto je také Page potomek
Visual Ui Element -> Framework Element -> Page,
Controlka je potomek
Visual Ui Element -> Framework Element -> Control -> Content Control
-> UserControl.
UserControl tak není problém zobrazit v jakémkoliv kontejneru na kontrolky, či jako dítě jiných kontrolek, které mohou mít dítě vnořeno.
Naopak Page by se správně měla zobrazovat pouze v rámci PageView.
Zdroj - MSDN, Vlastní znalost
tady to máš a řiká se tomu child window a dá se to udělat i dynamicky protože stačí přehodit vlastníka - parent a pár dalších atributů.
Už v zadání dotazu týpek píše, že je to ve WPF obsoletní... přesně k tomuhle slouží Page a PageViewer, tak nevím, proč používat takovýhle externí nesmysly...
Zobrazeno 7 zpráv z 7.