纠结中

guoyy1982 2010-08-28 03:33:28
在MainPage.xaml.cs中调用了自定义类中的方法showquery,把MainPage页面中的LayoutRoot传递过去,用于添加子元素bt(红色),bt的click事件bt_Click参数好像固定是(object sender, RoutedEventArgs e),不能把LayoutRoot传递过去.我想在bt_Click事件中引用LayoutRoot,这个该怎么办呢?
在jquery中,可以通过parent()这样的找到父容器,这里可以通过sender来找到LayoutRoot么???
或者用什么其它的方式??
public static void showquery(Canvas LayoutRoot)
{

Button bt = new Button();
bt.Name = "gyy1";
bt.Content = "查询";
bt.Click += new RoutedEventHandler(bt_Click);
LayoutRoot.Children.add(btnattribution) //添加子元素
}
static void bt_Click(object sender, RoutedEventArgs e)
{
//这里如何引用LayoutRoot
}
...全文
153 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
jv9 2010-08-29
  • 打赏
  • 举报
回复
首先创建你所想添加子控件的页面实例,例如,layoutroot的实例,然后再使用children属性添加子控件就可以实现楼主需求。这是最常见的一种方法。
老Key 2010-08-28
  • 打赏
  • 举报
回复
路过。。。
cww2010 2010-08-28
  • 打赏
  • 举报
回复
你可以用个变通的方法。
public static void showquery(Canvas LayoutRoot)
{

Button bt = new Button();
bt.Name = "gyy1";
bt.Tag=LayoutRoot;
bt.Content = "查询";
bt.Click += new RoutedEventHandler(bt_Click);
LayoutRoot.Children.add(btnattribution) //添加子元素
}

static void bt_Click(object sender, RoutedEventArgs e)
{
Button bt=sender as Button
Canvas LayoutRoot=bt.Tag as Canvas

}
浙外 2010-08-28
  • 打赏
  • 举报
回复
楼上的,楼主是要在自定义类中引用LayoutRoot,而不是直接在MainPage的CS文件里用。不知道能不能用全局变量,还是全局变量只是个副本,你可以实践下,呵呵。
海涵德 2010-08-28
  • 打赏
  • 举报
回复
不知道你要做什么?从哪里调用showwquery,layoutroot可以直接引用如:layoutroot.x

8,755

社区成员

发帖
与我相关
我的任务
社区描述
WPF/Silverlight相关讨论
社区管理员
  • WPF/Silverlight社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧