use*_*414 5 c# methods wpf user-controls parent
我想在WPF中调用来自用户控件的方法
我有一个带有列表的窗口,我有一个获取此列表的方法.
private ObservableCollection<int> _lst;
public MainWindow()
{
InitializeComponent();
getList();
}
public void getList()
{
_lst = List<int>();
}
Run Code Online (Sandbox Code Playgroud)
在这个页面中,我使用了一个usercontrol:
UserControlAAA userControl = new UserControlAAA ();
gridDatos.Children.Add(userControl);
Run Code Online (Sandbox Code Playgroud)
我想在usercontrol中做这样的事情:
Window win = Window.GetWindow(this);
win.getList();
Run Code Online (Sandbox Code Playgroud)
但我不能调用win.getList();
我想从我的usercontrol调用方法getList,但我不知道该怎么做.
您需要将Window对象强制转换为您正在使用的特定窗口类型 - 在您的情况下是MainWindow:
MainWindow win = (MainWindow)Window.GetWindow(this);
win.getList();
Run Code Online (Sandbox Code Playgroud)
但是,在用户控件和托管的窗口之间进行这种耦合并不明智,因为这意味着您只能在类型的窗口中使用它MainWindow.最好在用户控件中公开依赖项属性并将列表绑定到该属性 - 这样用户控件将拥有它所需的数据,并且它也可以在任何类型的窗口中重用.
| 归档时间: |
|
| 查看次数: |
7910 次 |
| 最近记录: |