从Silverlight视图访问父控件

时间:2011-04-21 15:44:52

标签: c# silverlight-4.0 parent business-application

我在Silverlight 4 Business应用程序中的父UserControl上有一个滚动条,我想从View访问;我想简单地告诉它滚动到顶部。我已经尝试将Parent转换为“MainPage”的类型,但这似乎不起作用。我该怎么做?

这不起作用:

((MainPage)Parent).myScrollbar.ScrollToVerticalOffset(0);

我收到以下错误:

无法将“System.Windows.Controls.Frame”类型的对象强制转换为“Project.MainPage”。

1 个答案:

答案 0 :(得分:3)

这是因为您的滚动条的父控件是一个框架而不是MainPage。您应该浏览页面层次结构并找到包含其ID的主页面,获取该控件并将其强制转换为MainPage。之后你应该可以这样做。

[编辑]

所以,要做你需要的,这里有一些解决方案。

用于查找父控件的递归实用程序函数:http://forums.silverlight.net/forums/t/55369.aspx

在父级控件上提升事件:http://forums.silverlight.net/forums/t/55458.aspx

Datacontext绑定:不确定UI元素:Calling parent UserControl method from a child UserControl in Silverlight