C# WPF TabControl UserControl or Page

C# WPF TabControl UserControl or Page
2014-07-31T22:26:25+02:00
2014-08-03T00:08:28+02:00
2022-12-01T10:35:37+01:00
iolah2
Sziasztok
Van két c# WPF ablakom(Window1, Window2). Azt szeretném elérni hogy egy 3-ik(MainWindow) ablakba beleteszek egy TabControlt és abba helyezem e két elemet. Vizsgáltam a UserControl és a Page esetét.
A felépítésem:
1) Kezdetben a TabControl tartalmazza a Window1 TabItem-et(nincs paramétere a construktornak), Window2-ben van 3 paraméter: egy string, egy int és egy Termelés(adatbázisból kinyert elem).

//consturctor Window2(Termelés termelesAktual, string munkalapAkt, int reszTetelAZ) { InitializeComponent(); refresh(termelesAktual, munkalapAkt, reszTetelAZ); }
2) Window1-ben kiválasztom a termelést és a másik két adatot, majd gombra kattintva a következőt kivánom elérni:
            a) Window2 paraméteres construktorának meghívása, majd a kapott UserControl/Page bevétele a MainWindow TabItemjeként.
            b) további methodus kommunikáció a két TabItem közt és a parent window között , első visszanézése, második bezárása

Köszönöm
István
Mutasd a teljes hozzászólást!
Nem vagyok benne biztos, hogy értem a dolgot, de szerintem simán megoldhatod az egészet MVVM módszerrel. Ezt máshogy nem érdemes, különben meghülyülsz. Ha nem tudod mi az, nézd meg itt: Data Driven Applications with MVVM Part I: The Basics
Mutasd a teljes hozzászólást!

  • Köszi, igazából sikerült megoldanom.
    Csak annyi kellett hogy az ősablakhoz írjak egy statikus "konstruktort"

    public MainWindow() { InitializeComponent(); foAblak = this; vonBeolvMasodik.Visibility = Visibility.Collapsed; //uC2.Visibility = Visibility.Collapsed; } public static MainWindow foAblak = new MainWindow(); public void hatvanySzamit(double a, double x) { b1 = Math.Pow(a, x); a1 = a; x1 = x; focusMod(); //uC2.Refresh(b); //uC3.Refresh(a, x, b); }
    Így a foAblakon keresztül tudtam kommunikálni, így elérem a hatvanySzamit methódust a usercontrol-okból, új Window1 generálás nélkül. Az MVVM itt nem érdekes, mert közvetlen sql adatbáziskapcsolattal dolgozom, de azért köszi a tanácsot.
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd