Xaml-button

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

XAML-ボタン

Buttonクラスは、ボタンコントロールの最も基本的なタイプを表します。 Buttonクラスの階層継承は次のとおりです-

ボタン階層

プロパティ

Buttonの最も一般的に使用されるプロパティを以下に示します。

Sr.No. Property & Description
1

Background

コントロールの背景を提供するブラシを取得または設定します。 (Controlから継承)

2

BorderBrush

コントロールの境界線の塗りつぶしを記述するブラシを取得または設定します。 (Controlから継承)

3

BorderThickness

コントロールの境界線の太さを取得または設定します。 (Controlから継承)

4

Content

ContentControlのコンテンツを取得または設定します。 (ContentControlから継承されます)

5

ClickMode

デバイスの動作に関して、Clickイベントがいつ発生するかを示す値を取得または設定します。 (ButtonBaseから継承)

6

ContentTemplate

ContentControlのコンテンツを表示するために使用されるデータテンプレートを取得または設定します。 (ContentControlから継承されます)

7

FontFamily

コントロール内のテキストの表示に使用されるフォントを取得または設定します。 (Controlから継承)

8

FontSize

このコントロール内のテキストのサイズを取得または設定します。 (Controlから継承)

9

FontStyle

テキストがレンダリングされるスタイルを取得または設定します。 (Controlから継承)

10

FontWeight

指定したフォントの太さを取得または設定します。 (Controlから継承)

11

Foreground

前景色を説明するブラシを取得または設定します。 (Controlから継承)

12

Height

FrameworkElementの推奨される高さを取得または設定します。 (FrameworkElementから継承されます)

13

HorizontalAlignment

FrameworkElementがパネルやアイテムコントロールなどのレイアウトの親で構成されるときにFrameworkElementに適用される水平方向の配置特性を取得または設定します。 (FrameworkElementから継承されます)

14

IsEnabled

ユーザーがコントロールを操作できるかどうかを示す値を取得または設定します。 (Controlから継承)

15

IsPressed

ButtonBaseが現在押された状態にあるかどうかを示す値を取得します。 (ButtonBaseから継承)

16

Margin

FrameworkElementの外側のマージンを取得または設定します。 (FrameworkElementから継承されます)

17

Name

オブジェクトの識別名を取得または設定します。 XAMLプロセッサがXAMLマークアップからオブジェクトツリーを作成するとき、ランタイムコードはこの名前でXAMLで宣言されたオブジェクトを参照できます。 (FrameworkElementから継承されます)

18

Opacity

オブジェクトの不透明度を取得または設定します。 (UIElementから継承)

19

Resources

ローカルに定義されたリソースディクショナリを取得します。 XAMLでは、リソース項目をframeworkElementの子オブジェクト要素として確立できます。 XAMLの暗黙的なコレクション構文によるResourcesプロパティ要素。 (FrameworkElementから継承されます)

20

Style

レイアウトおよびレンダリング中にこのオブジェクトに適用されるインスタンススタイルを取得または設定します。 (FrameworkElementから継承されます)

21

Template

コントロールテンプレートを取得または設定します。 コントロールテンプレートは、UIのコントロールの視覚的な外観を定義し、XAMLマークアップで定義されます。 (Controlから継承)

22

VerticalAlignment

FrameworkElementがパネルや項目コントロールなどの親オブジェクトで構成されるときにFrameworkElementに適用される垂直方向の配置特性を取得または設定します。 (FrameworkElementから継承されます)

23

Visibility

UIElementの可視性を取得または設定します。 表示されないUIElementはレンダリングされず、目的のサイズをレイアウトに伝えません。 (UIElementから継承)

24

Width

FrameworkElementの幅を取得または設定します。 (FrameworkElementから継承されます)

方法

以下に示すのは、最も一般的に使用されるButtonのメソッドです。

Sr.No. Method & Description
1

ClearValue

依存関係プロパティのローカル値をクリアします。 (DependencyObjectから継承)

2

FindName

指定された識別子名を持つオブジェクトを取得します。 (FrameworkElementから継承されます)

3

OnApplyTemplate

アプリケーションコードまたは内部プロセス(再構築レイアウトパスなど)がApplyTemplateを呼び出すたびに呼び出されます。 最も簡単に言えば、これは、UI要素がアプリに表示される直前にメソッドが呼び出されることを意味します。 このメソッドをオーバーライドして、クラスのデフォルトのテンプレート後ロジックに影響を与えます。 (FrameworkElementから継承されます)

4

OnContentChanged

Contentプロパティの値が変更されたときに呼び出されます。 (ContentControlから継承されます)

5

OnDragEnter

DragEnterイベントが発生する前に呼び出されます。 (Controlから継承)

6

OnDragLeave

DragLeaveイベントが発生する前に呼び出されます。 (Controlから継承)

7

OnDragOver

DragOverイベントが発生する前に呼び出されます。 (Controlから継承)

8

OnDrop

Dropイベントが発生する前に呼び出されます。 (Controlから継承)

9

OnGotFocus

GotFocusイベントが発生する前に呼び出されます。 (Controlから継承)

10

OnKeyDown

KeyDownイベントが発生する前に呼び出されます。 (Controlから継承)

11

OnKeyUp

KeyUpイベントが発生する前に呼び出されます。 (Controlから継承)

12

OnLostFocus

LostFocusイベントが発生する前に呼び出されます。 (Controlから継承)

13

SetBinding

提供されたバインディングオブジェクトを使用して、FrameworkElementにバインディングをアタッチします。 (FrameworkElementから継承されます)

イベント

以下に、Buttonの一般的に使用されるイベントを示します。

Sr.No. Event & Description
1

Click

ボタンコントロールがクリックされたときに発生します。 (ButtonBaseから継承)

2

DataContextChanged

FrameworkElementの値が発生したときに発生します。 DataContextプロパティが変更されました。 (FrameworkElementから継承されます)

3

DragEnter

入力システムが、この要素をターゲットとして基になるドラッグイベントを報告したときに発生します。 (UIElementから継承)

4

DragLeave

入力システムが、この要素を起点として基本的なドラッグイベントを報告したときに発生します。 (UIElementから継承)

5

DragOver

入力システムが潜在的なドロップターゲットとしてこの要素を持つ基本的なドラッグイベントを報告するときに発生します。 (UIElementから継承)

6

DragStarting

ドラッグ操作が開始されたときに発生します。 (UIElementから継承)

7

GotFocus

UIElementがフォーカスを受け取ったときに発生します。 (UIElementから継承)

8

Holding

この要素のヒットテスト領域上で未処理のホールド操作が発生すると発生します。 (UIElementから継承)

9

IsEnabledChanged

IsEnabledプロパティが変更されたときに発生します。 (Controlから継承)

10

OnKeyDown

UIElementにフォーカスがあるときにキーボードキーが押されると発生します。 (UIElementから継承)

11

OnKeyUp

UIElementにフォーカスがあるときにキーボードキーが離されると発生します。 (UIElementから継承)

12

LostFocus

UIElementがフォーカスを失ったときに発生します。 (UIElementから継承)

13

SizeChanged

ActualHeightまたはActualWidthプロパティがFrameworkElementの値を変更したときに発生します。 (FrameworkElementから継承されます)

次の例には、ClickModeプロパティ値に基づいて異なる応答をする3つのボタンが含まれています。

以下は、いくつかのプロパティとクリックイベントで3つのボタンが作成されるXAMLコードです。

<Window x:Class = "XAMLButton.MainWindow"
   xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation"
   xmlns:x = "http://schemas.microsoft.com/winfx/2006/xaml"
   Title = "MainWindow" Height = "350" Width = "604">

   <Grid>
      <StackPanel Margin = "10">
         <Button x:Name = "button1"
            Content = "Hover"
            Click = "OnClick1"
            ClickMode = "Hover"
            Margin = "10"
            Width = "150"
            HorizontalAlignment = "Center"
            Foreground = "Gray"/>
            <Button x:Name = "button2"
            Content = "Press to Click"
            Click = "OnClick2"
            ClickMode = "Press"
            Margin = "10"
            Width = "150"
            HorizontalAlignment = "Center"
            Foreground = "DarkBlue"/>
            <Button x:Name = "button3"
            Content = "Release"
            Click = "OnClick3"
            ClickMode = "Release"
            Margin = "10"
            Width = "150"
            HorizontalAlignment = "Center"/>
      </StackPanel>
   </Grid>

</Window>

C#でのクリックイベントの実装を次に示します。

using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;

namespace XAMLButton {
  ///<summary>
     ///Interaction logic for MainWindow.xaml
  ///</summary>
    public partial class MainWindow : Window {
      public MainWindow() {
         InitializeComponent();
      }
      void OnClick1(object sender, RoutedEventArgs e) {
         button1.Foreground = new SolidColorBrush(Colors.Blue);
         MessageBox.Show("On Hover click event occurs.");
      }
      void OnClick2(object sender, RoutedEventArgs e) {
         button2.Foreground = new SolidColorBrush(Colors.Green);
         MessageBox.Show("On Press click event occurs.");
      }
      void OnClick3(object sender, RoutedEventArgs e) {
         button1.Foreground = new SolidColorBrush(Colors.Green);
         button2.Foreground = new SolidColorBrush(Colors.Blue);
         MessageBox.Show("On Release click event occurs.");
      }
   }
}

上記のコードをコンパイルして実行すると、次の画面が生成されます-

イベント実装出力

マウスが最初のボタンの領域に入ると、次のメッセージが表示されます-

最初のボタン領域

あなたが2番目のボタンを押すと、次のメッセージが表示されます-

2番目のボタン

クリック後に最後のボタンを離すと、次のメッセージが表示されます-

最後のボタン

上記のサンプルコードを実行し、他のいくつかのプロパティとイベントを試すことをお勧めします。