WPF call method parent from usercontrol
You'll need to cast the Window
object to the specific window type you're using - which in your case is MainWindow
:
MainWindow win = (MainWindow)Window.GetWindow(this);
win.getList();
However, it's not wise to have such coupling between the user control and the window it's hosted in, since that means you will only be able to use it in a window of type MainWindow
. It would be better to expose a dependency property in the user control and bind the list to that property - this way the user control will have the data it requires and it will also be reusable in any type of window.
user1253414
Updated on June 14, 2022Comments
-
user1253414 almost 2 years
I want to call a method from user control in WPF
I´ve a Window with a list and I have a method that get this list.
private ObservableCollection<int> _lst; public MainWindow() { InitializeComponent(); getList(); } public void getList() { _lst = List<int>(); }
In this page I use a usercontrol:
UserControlAAA userControl = new UserControlAAA (); gridDatos.Children.Add(userControl);
I want to do something like this inside of usercontrol:
Window win = Window.GetWindow(this); win.getList();
but I can´t call win.getList();
I want to call the method getList from my usercontrol, but I don´t know how to do it.
-
user1253414 about 10 yearsThank You, It´s perfect.