Silverlight-togglebutton-repeatbutton
Silverlight-ToggleButtonおよびRepeatButton
ButtonおよびHyperlinkButtonと並んで、 ButtonBbase からさらに2つのクラスが派生します-
- RepeatButton -このコントロールは、ボタンが押されている限り、連続して Click イベントを発生させます。 通常のボタンは、ユーザーのクリックごとに1つの Click イベントを発生させます。
- ToggleButton -このコントロールは、2つの状態(クリックまたは非クリック)を持つボタンを表します。 ToggleButton をクリックすると、もう一度クリックしてリリースするまでプッシュ状態のままになります。 これは、スティッキークリック動作と呼ばれることもあります。
ToggleButtonクラスの階層的な継承は次のとおりです-
ToggleButtonクラスで一般的に使用される Properties を以下に示します。
以下は、ToggleButtonの最も一般的に使用されるプロパティです。
Sr. No. | Property & Description |
---|---|
1 |
IsChecked ToggleButtonがチェックされているかどうかを取得または設定します。 |
2 |
IsCheckedProperty IsChecked依存プロパティを識別します。 |
3 |
IsThreeState コントロールが3つの状態をサポートするかどうかを示す値を取得または設定します。 |
4 |
IsThreeStateProperty IsThreeState依存プロパティを識別します。 |
以下は、ToggleButtonクラスで一般的に使用される*イベント*です。
以下は、ToggleButtonの最も一般的に使用されるイベントです。
Sr. No. | Event & Description |
---|---|
1 |
Checked ToggleButtonがチェックされたときに発生します。 |
2 |
Indeterminate ToggleButtonの状態が不確定状態に切り替えられたときに発生します。 |
3 |
Unchecked ToggleButtonのチェックが解除されたときに発生します。 |
次の例は、XAMLアプリ RepeatButton での ToggleButton の使用法を示しています。 以下に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.";
}
}
}
上記のコードをコンパイルして実行すると、次のWebページが表示されます。 上部のボタンをクリックして押したままにすると、連続してクリック数がカウントされます。 同様に、 Toggle ボタンをクリックすると、色が変わり、テキストブロックが更新されます。