您的位置:首页 > 其它

SilverLight学习笔记--建立Silverlight自定义控件(3)--操作控件内部成员

2009-07-17 10:44 543 查看
在上述自定义控件MySilverButton内部,我们有Rectangle(名为BodyElement)和TextBlock (名为ButtonCaption)两个内部成员,如果要对其操作,我们需要用到 GetTemplateChild 函数来达到目的。

在此,我们以修改TextBlock的Text属性值。加入代码到SimpleButton_MouseLeftButtonUp事件中

void SimpleButton_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)

{

if (Click != null)

{

Click(this, new RoutedEventArgs());

TextBlock BgTextBlock = (sender as MySilverButton). ("ButtonCaption") as TextBlock;

BgTextBlock.Text = "修改显示文本";

}

}
MySilverButton.cs完整代码如下:

using System;

using System.Net;

using System.Windows;

using System.Windows.Controls;

using System.Windows.Documents;

using System.Windows.Ink;

using System.Windows.Input;

using System.Windows.Media;

using System.Windows.Media.Animation;

using System.Windows.Shapes;

namespace MyDesignButton

{

public class MySilverButton: ContentControl

{

public event RoutedEventHandler Click; //添加Click事件

public MySilverButton()

{

this.DefaultStyleKey = typeof(MySilverButton);

this.MouseLeftButtonUp += new MouseButtonEventHandler(SimpleButton_MouseLeftButtonUp); //添加Click事件

}

//添加Click事件

void SimpleButton_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)

{

if (Click != null)

{

Click(this, new RoutedEventArgs());

TextBlock BgTextBlock = (sender as MySilverButton). ("ButtonCaption") as TextBlock;

BgTextBlock.Text = "修改显示文本";

}

}

}

}
重新生成,并回到MySLbutton项目运行测试,可看到结果。

下一篇:

SilverLight学习笔记--建立Silverlight自定义控件(4)--添加自定义属性

前往:Silverlight学习笔记清单
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐