假设您有一个用户控件,其中有重置表单的方法:
public void myReset()
{
text1.Text="";
text2.Text="";
}
现在我想从clsMyClass中的方法调用这个myReset()方法
class clsMyclass
{
public clsMyClass()
{
}
// ==================== Methods =================
public double SomeMethod(double Val)
{
UserControlRef.myReset();
//Do things...
}
}
我不知道如何为用户控件创建引用。我已经看到使用Revit Extension的代码以这种方式工作。我已经做了很多搜索来解决这个问题,但我找不到正确的方法。
答案 0 :(得分:1)
您应该能够在xaml中设置x:Name属性:EmployeeService.Employee es_emp = new EmployeeService.Employee();
这将为您的实例提供变量名称。然后在代码中,您可以将实例称为您给出的名称。例如x:Name="control"
答案 1 :(得分:1)
根据@StijnvanGaal,它不是真正好的方法,无论如何你可以检索任何UserControl和内容。这里有一个样本 假设您的usercontrol在grid2中,您可以通过这种方式访问它。
int ChildNumber = VisualTreeHelper.GetChildrenCount(grid2);
for (int i = 0; i < ChildNumber; i++)
{
Control v = (Control)VisualTreeHelper.GetChild(grid2, i);
if (v.GetType().ToString() == "Project_wpf.UserControlRef")
{
UserControlRef CM = v as UserControlRef;
Console.WriteLine(CM.Name); //you can check his name here
CM.myReset();
}
}
基本上这会激活你的MyReset()方法,所有类型为“Project_wpf.UserControlRef”的Usercontrole都是Grid2的孩子