点击Generic.xaml中的按钮?

我正在Silverlight中编写自定义控件,我遇到问题让我的Button单击Generic.xaml文件。 这不起作用:

      

“ScrollLeft”在我的C#文件中。

但是,这也不起作用:

  var b = this.GetTemplateChild("ScrollLeft"); Debug.Assert(b != null); 

因为不管我做什么,b总是回来无效。 我觉得应该有一种简单的方法将click方法分配给这个按钮,所以我做错了什么?

编辑:这是我的C#文件中的方法:

  public void scrollLeft(object sender, RoutedEventArgs e) { //var scroller = Application.Current.Resources["TabScroller"] as ScrollViewer; //scroller.LineLeft(); } 

您必须覆盖自定义控件类(C#File)上的OnApplyTemplate( )。

像这样。

  public override void OnApplyTemplate() { Button btn = GetTemplateChild("ScrollLeft") as Button; Debug.Assert(btn != null); } 

此外,您必须在Generic.Xaml中的控件模板中再进行一次更改,如下所示。

         

注意:我删除了Click事件处理程序。

虽然我可以推荐使用命令,但是替换模板的设计者可以自由选择其他控件和事件来绑定逻辑。