Zmiana wyglądu okna podczas działania

0

Witam,
chciałbym zmieniać wygląd okna podczas jego działania. Chodzi o to, że jeśli kliknę jakiś button pojawi mi się dodatkowy button w innym miejscu. Czy jest do tego jakaś specjalna logika? Czy trzeba tworzyć nowe okno, dziedziczyć po wcześniejszym i tak w kółko? Proszę o pomoc.

0

Pojawi sie w innym miejscu tzn. w tym samym oknie ale w innym polozeniu? Wtedy nie trzeba przeciez tworzyc zadnego nowego okna.
WinForms, WPF?

0

W handlerze pierwszego buttona tworzysz nowy button w innym miejscu lub tworzysz ten button wcześniej z Visible=false a w handlerze tylko zmieniasz na true. Nie rozumiem co tu ma dziedziczenie okien do tego.

0

WPF.
Nie odzywałem się bo zrobiłem sobie mały odpoczynek od programowania.
Mam następujący problem, że w oknie głównym po kliknięciu buttona otwiera mi się nowe okno, w którym po naciśnięciu pewnego buttona, w oknie głównym pewien wrap panel zmieni isenabled z false na true oraz do listboxa doda nową pozycję z danymi wypełnionymi w nowo otwartym oknie. Metoda przycisku z "małego" okienka:

private void btnazwaok_Click(object sender, RoutedEventArgs e)
        {
            OknoGlowne.NazwaNowej = tbnazwa.Text;
           
            
            this.Close();
     
            
        } 

Próbowałem: OknoGlowne. i tutaj szukać nazwy mojego wrap panelu żeby można było zmienić isenabled, ale nie znajduje go tam. Bardzo proszę o podpowiedź.

0

Ok, w OknieGlownym stworzylem metode zmien, w oknie "pobocznym" tworze nowy obiekt klasy OknoGlowne i wywoluje metode zmien, jednak bez efektu.
Metodazmien:
public void zmien()
{
cbtablica.IsEnabled = true;
}

0

tworze nowy obiekt klasy OknoGlowne

Właśnie dlatego że tworzysz nowy obiekt.

Główne okno:

 public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
            Window1 w1 = new Window1(this);
            w1.Show();
        }
        public void MyMethod()
        {
            this.Width += 10;
        }
    }

Drugie okno:

 
public partial class Window1 : Window
    {
        private MainWindow mainWindow;
        public Window1(MainWindow mainWindow )
        {
            InitializeComponent();
            this.mainWindow = mainWindow;
        }

        private void button1_Click(object sender, RoutedEventArgs e)
        {
            mainWindow.MyMethod();
        }
    }

1 użytkowników online, w tym zalogowanych: 0, gości: 1