Silverlight-togglebutton-repeatbutton

提供:Dev Guides
移動先:案内検索

Silverlight-ToggleButtonおよびRepeatButton

ButtonおよびHyperlinkBut​​tonと並んで、 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 ボタンをクリックすると、色が変わり、テキストブロックが更新されます。

チェックされたトグルボタン