将XAML事件绑定到除文件根之外的类

时间:2013-04-08 15:11:26

标签: wpf silverlight xaml windows-phone

Windows Phone 8项目,XAML。我在一个数据库项目中有一个ListBox,它是我自己的类MyPivotItem(派生自vanilla PivotItem)在页面内部。列表框中有一个带有一些控件的ItemTemplate。我想将其中一个控件中的事件绑定到MyPivotItem中的方法。普通语法Click="OnClick"不起作用 - frameword仅在Page类中搜索方法。

我可以派生控件本身,并使用树导航和事件转发等方式做一些技巧,但我想知道这样的场景是否可以由XAML的内部手段提供。

有没有办法将方法非编程绑定到层次结构中比XAML文件的根对象更深的类?

1 个答案:

答案 0 :(得分:0)

不使用行为或附加属性之类的东西,这是不可能的。 XAML文件始终与部分C#类关联,在此类中,您可以定义控件和事件。对于每个Page.xaml,都会生成一个实际创建控件并绑定事件的Page.g.xaml文件。但是,必须在根对象中定义这些事件 - 部分类本身。

即使您使用附加属性或行为创建变通方法,您只需将该程序化代码卸载到其他位置并将其隐藏在XAML语法之后。

您希望何时绑定到控件的特定事件处理程序?你可以简单地使用UserControls吗?