SilverLigth學習筆記--
如何解決Button不響應MouseLeftButtonDown與MouseLeftButtonUp事件的問題
在Silverlight 2 中的按鈕不能響應MouseLeftButtonDown 和 MouseLeftButtonUp 事件,為解決此問題,我們可通過建立自定義按鈕控制元件加以解決,
1、建立自定義按鈕控制元件,參見"SilverLigth學習筆記--如何在Silverlight中建立自定義Button控制元件"一文。
2、建立新專案,在新專案中引用前面建立的MyButton自定義按鈕(即引入MyButton.dll)。並在xaml檔案頭部中加入如下程式碼?:
xmlns:myContron="clr-namespace:MyButton;assembly=MyButton"
3、新增一個自定義按鈕和兩個TextBlock控制元件,新增後的完整程式碼如下:
<UserControl x:Class="ButtonMouseLeftClick.Page"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:myContron="clr-namespace:MyButton;assembly=MyButton"
Width="400" Height="300">
<Canvas Width="300" Height="400" Background="Coral">
<myContron:MyButton Width="200" Height="50" Canvas.Top="50" Canvas.Left="50" Content="Click Me"
MouseLeftButtonDown="MyButton_MouseLeftButtonDown" MouseLeftButtonUp="MyButton_MouseLeftButtonUp" >
myContron:MyButton>
<TextBlock x:Name="TextBlock1" Width="80" Height="20" Canvas.Top="140" Canvas.Left="80" Text="TextBlock1">TextBlock>
<TextBlock x:Name="TextBlock2" Width="80" Height="20" Canvas.Top="180" Canvas.Left="80" Text="TextBlock2">TextBlock>
Canvas>
UserControl>
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:myContron="clr-namespace:MyButton;assembly=MyButton"
Width="400" Height="300">
<Canvas Width="300" Height="400" Background="Coral">
<myContron:MyButton Width="200" Height="50" Canvas.Top="50" Canvas.Left="50" Content="Click Me"
MouseLeftButtonDown="MyButton_MouseLeftButtonDown" MouseLeftButtonUp="MyButton_MouseLeftButtonUp" >
myContron:MyButton>
<TextBlock x:Name="TextBlock1" Width="80" Height="20" Canvas.Top="140" Canvas.Left="80" Text="TextBlock1">TextBlock>
<TextBlock x:Name="TextBlock2" Width="80" Height="20" Canvas.Top="180" Canvas.Left="80" Text="TextBlock2">TextBlock>
Canvas>
UserControl>
4、新增後臺處理程式碼
private void MyButton_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
this.TextBlock2.Text = String.Empty;
this.TextBlock1.Text = "Down";
}
private void MyButton_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
{
this.TextBlock1.Text = "Up"
}
{
this.TextBlock2.Text = String.Empty;
this.TextBlock1.Text = "Down";
}
private void MyButton_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
{
this.TextBlock1.Text = "Up"
}
5、生成專案執行即可看到結果
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-609226/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- numpy的學習筆記\pandas學習筆記筆記
- IT學習筆記筆記
- 學習筆記筆記
- 【學習筆記】數學筆記
- 《JAVA學習指南》學習筆記Java筆記
- Elasticsearch學習筆記Elasticsearch筆記
- Scala學習筆記筆記
- MySql學習筆記MySql筆記
- jQuery 學習筆記jQuery筆記
- react學習筆記React筆記
- 學習筆記(4.3)筆記
- 學習筆記(4.4)筆記
- 學習筆記(3.29)筆記
- 學習筆記(4.1)筆記
- AOP學習筆記筆記
- AspectJ學習筆記筆記
- 學習筆記(3.27)筆記
- 學習筆記(4.2)筆記
- golang 學習筆記Golang筆記
- Zookeeper學習筆記筆記
- 學習筆記(3.24)筆記
- 學習筆記(3.25)筆記
- 學習筆記(3.21)筆記
- GitHub學習筆記Github筆記
- jest 學習筆記筆記
- typescript 學習筆記TypeScript筆記
- Echarts學習筆記Echarts筆記
- js學習筆記JS筆記
- shell學習筆記筆記
- Dubbo 學習筆記筆記
- SVN 學習筆記筆記
- 笨笨學習筆記筆記
- vue學習筆記Vue筆記
- wepack學習筆記筆記
- redis學習筆記Redis筆記
- PureMVC學習筆記REMMVC筆記
- gitee 學習筆記Gitee筆記
- 機器學習學習筆記機器學習筆記