- Silverlight 教程
- Silverlight - 首頁
- Silverlight - 概述
- Silverlight - 環境設定
- Silverlight - 入門
- Silverlight - XAML 概述
- Silverlight - 專案型別
- Silverlight - 固定佈局
- Silverlight - 動態佈局
- 受約束與不受約束
- Silverlight - CSS
- Silverlight - 控制元件
- Silverlight - 按鈕
- Silverlight - 內容模型
- Silverlight - 列表框
- Silverlight - 模板
- Silverlight - 可視狀態
- Silverlight - 資料繫結
- Silverlight - 瀏覽器整合
- Silverlight - 瀏覽器外
- Silverlight - 應用程式和資源
- Silverlight - 檔案訪問
- Silverlight - 檢視模型
- Silverlight - 輸入處理
- Silverlight - 隔離儲存
- Silverlight - 文字
- Silverlight - 動畫
- Silverlight - 影片和音訊
- Silverlight - 列印
- Silverlight 有用資源
- Silverlight - 快速指南
- Silverlight - 有用資源
- Silverlight - 討論
Silverlight - 切換按鈕 & 重複按鈕
除了 Button 和 HyperlinkButton 之外,還有兩個類派生自 ButtonBbase:
RepeatButton - 此控制元件持續觸發 Click 事件,只要按鈕被按下。普通按鈕每次使用者點選觸發一個 Click 事件。
ToggleButton - 此控制元件表示具有兩種狀態(已點選或未點選)的按鈕。當您點選 ToggleButton 時,它會保持按下狀態,直到您再次點選以釋放它。這有時被稱為粘性點選行為。
ToggleButton 類的層次繼承如下:
ToggleButton 類中常用的 屬性 如下所示。
| 序號 | 屬性 & 描述 |
|---|---|
| 1 | IsChecked 獲取或設定 ToggleButton 是否選中。 |
| 2 | IsCheckedProperty 標識 IsChecked 依賴屬性。 |
| 3 | IsThreeState 獲取或設定一個值,該值指示控制元件是否支援三種狀態。 |
| 4 | IsThreeStateProperty 標識 IsThreeState 依賴屬性。 |
以下是 ToggleButton 類中常用的 事件。
| 序號 | 事件 & 描述 |
|---|---|
| 1 | Checked 當 ToggleButton 被選中時觸發。 |
| 2 | Indeterminate 當 ToggleButton 的狀態切換到不確定狀態時觸發。 |
| 3 | Unchecked 當 ToggleButton 未選中時觸發。 |
以下示例顯示了在 XAML 應用程式中使用 ToggleButton 和 RepeatButton 的方法。以下是 XAML 程式碼。
<UserControl x:Class = "RepeatButton.MainPage"
xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x = "http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d = "http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc = "http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable = "d"
d:DesignHeight = "300" d:DesignWidth = "400">
<Grid x:Name = "LayoutRoot" Background = "White">
<StackPanel Margin = "10">
<RepeatButton Content = "click and hold for multiple Click events"
Click = "RepeatButton_Click" Margin = "5" HorizontalAlignment = "Left"/>
<TextBlock x:Name = "clickTextBlock" Text = "Number of Clicks:" />
<ToggleButton x:Name = "tb" Content = "Toggle" Checked = "HandleCheck"
Unchecked = "HandleUnchecked" Margin = "20" Width = "108"
HorizontalAlignment = "Center"/>
<TextBlock x:Name = "text2" Width = "300" HorizontalAlignment = "Center"
FontSize = "24" Height = "27"/>
</StackPanel>
</Grid>
</UserControl>
以下是不同事件的 C# 程式碼。
using System.Windows;
using System.Windows.Controls;
namespace RepeatButton {
public partial class MainPage : UserControl {
public MainPage() {
InitializeComponent();
}
static int Clicks = 0;
private void RepeatButton_Click(object sender, RoutedEventArgs e) {
Clicks += 1;
clickTextBlock.Text = "Number of Clicks: " + Clicks;
}
private void HandleCheck(object sender, RoutedEventArgs e) {
text2.Text = "Button is Checked";
}
private void HandleUnchecked(object sender, RoutedEventArgs e) {
text2.Text = "Button is unchecked.";
}
}
}
當編譯並執行以上程式碼時,將顯示以下網頁。當您點選並按住頂部的按鈕時,它將連續計數點選次數。類似地,當您點選 切換 按鈕時,它將更改顏色並更新文字塊。
silverlight_buttons.htm
廣告