首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >单击Generic.xaml中的按钮?

单击Generic.xaml中的按钮?
EN

Stack Overflow用户
提问于 2011-04-20 02:40:58
回答 2查看 2.5K关注 0票数 3

我正在用Silverlight编写一个自定义控件,我在点击Generic.xaml文件时遇到了问题。这不起作用:

代码语言:javascript
复制
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="local:ScrollableTabControl">
                    <Button Grid.Row="0" Grid.Column="0" x:Name="ScrollLeft" Click="scrollLeft">&lt;</Button>
            </ControlTemplate>
        </Setter.Value>

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

然而,这也不起作用:

代码语言:javascript
复制
        var b = this.GetTemplateChild("ScrollLeft");
        Debug.Assert(b != null);

因为无论我做什么,b总是返回null。我觉得应该有一种简单的方法来给这个按钮分配click方法,那么我做错了什么呢?

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

代码语言:javascript
复制
    public void scrollLeft(object sender, RoutedEventArgs e)
    {
        //var scroller = Application.Current.Resources["TabScroller"] as ScrollViewer;
        //scroller.LineLeft();
    }
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-04-20 02:57:12

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

就像这样。

代码语言:javascript
复制
    public override void OnApplyTemplate()
    {
        Button btn = GetTemplateChild("ScrollLeft") as Button;
        Debug.Assert(btn != null);
    }

此外,您还必须对Generic.Xaml中的控件模板进行更多更改,如下所示。

代码语言:javascript
复制
<Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="{x:Type local:CustomControl1}">
                <Border Background="{TemplateBinding Background}"
                        BorderBrush="{TemplateBinding BorderBrush}"
                        BorderThickness="{TemplateBinding BorderThickness}">
                    <Button Grid.Row="0" Grid.Column="0" x:Name="ScrollLeft">&lt;</Button>
                </Border>
            </ControlTemplate>
        </Setter.Value>

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

票数 2
EN

Stack Overflow用户

发布于 2011-04-20 02:51:36

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5721066

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档