[Windwos Phone 8]多個按鈕的共用事件

[Windwos Phone 8]多個按鈕的共用事件

前言

---------------------------------------------------------------------------------------------

在Windows Phone的開發中,我們有時候會遇到很多個按鈕的Click事件都是一樣的,

但是我們如果一個一個寫程式碼的話,是不是有點太麻煩了呢?今天要教大家一種

不用這麼累方法,那就是共用事件!它可以讓多個按鈕共享同一個相同的事件處理程序喔!

以下將為大家示範

 

實作

-------------------------------------------------------------------------------------------

1.建立一個新專案

1

2.在畫面上拖拉3個RadioButton和一個TextBox

2

3.在程式碼修改其名稱與內容

3


 <!--TitlePanel 包含應用程式的名稱和頁面標題-->
        <StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28">
            <TextBlock Text="我的應用程式" Style="{StaticResource PhoneTextNormalStyle}" Margin="12,0"/>
            <TextBlock Text="共用事件" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}"/>
        </StackPanel>

        <!--ContentPanel - 其他內容置於此-->
        <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
            <RadioButton x:Name="rdbRed" Content="紅" HorizontalAlignment="Left" Margin="10,10,0,0" VerticalAlignment="Top"/>
            
            <RadioButton x:Name="rdbGreen" Content="綠" HorizontalAlignment="Left" Margin="10,87,0,0" VerticalAlignment="Top"/>
            
            <RadioButton x:Name="rdbBlue" Content="藍" HorizontalAlignment="Left" Margin="10,159,0,0" VerticalAlignment="Top"/>
            
            <TextBox x:Name="txtShow" HorizontalAlignment="Left" Height="72" Margin="10,236,-10,0" TextWrapping="Wrap" Text="TextBox" VerticalAlignment="Top" Width="456"/>

        </Grid>

 

 

 

4.接著我們到MainPage.xaml.cs新增其共用事件

4


public MainPage()
        {
            InitializeComponent();

          //rdbBlue, rdbGreen, rdbRed的Checked事件被觸發皆共用rdbBlue_Checked事件函式
            rdbBlue.Checked += rdbBlue_Checked;
            rdbGreen.Checked += rdbBlue_Checked;
            rdbRed.Checked += rdbBlue_Checked;
        }
             
        // sender物件表示觸發事件的來源控制項, e為觸發的事件資訊
        void rdbBlue_Checked(object sender, RoutedEventArgs e)
        {
            // 將觸發事件的來源控制項轉型成myRdb的RadioButton物件
            RadioButton myRdb = (RadioButton)sender;
            txtShow.Text = "你選"+  myRdb.Content.ToString();
        }



        }

 

5.然後我們來測試一下

5

6

7

 

結語

--------------------------------------------------------------------------------------------------------

以上示範是不是讓您更了解共用事件的操作了呢?

希望對大家有幫助^_^

如果上述有錯誤,請不吝指教喔! 感謝大家

 

 

 

參考資料

--------------------------------------------------------------------------------------------------------

 

看範例學C#-11 共用Click事件