快捷搜索:

SilverLight 学习笔记--建立Silverlight自定义控件(3)

在上述自定义控件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项目运行测试,可看到结果。

您可能还会对下面的文章感兴趣: