Xaml-passwordbox

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

XAML-PasswordBox

PasswordBoxは、ユーザーがマスクされたパスワードを入力できるコントロールです。 ユーザーがパスワードを入力すると、テキストは表示されず、パスワード文字のみが表示されます。 パスワード文字(通常は*と表示)は、 PasswordChar プロパティによって簡単に変更できます。 PasswordBoxクラスの階層的な継承は次のとおりです-

PasswordBox Hierarchy

プロパティ

以下は、PasswordBoxクラスの一般的に使用されるプロパティです。

Sr.No. Property & Description
1

InputScope

このPasswordBoxが使用する入力のコンテキストを取得または設定します。

2

InputScopeProperty

InputScope依存プロパティを識別します。

3

IsPasswordRevealButtonEnabled

PasswordBoxのビジュアルUIに、入力した文字の表示と非表示を切り替えるボタン要素が含まれるかどうかを指定する値を取得または設定します。 Windows 10以降では、代わりにPasswordRevealModeを使用します。

4

IsPasswordRevealButtonEnabledProperty

IsPasswordRevealButtonEnabled依存プロパティを識別します。

5

MaxLength

このPasswordBoxで処理されるパスワードの最大長を取得または設定します。

6

MaxLengthProperty

MaxLength依存プロパティを識別します。

7

Password

PasswordBoxが現在保持しているパスワードを取得または設定します。

8

PasswordChar

PasswordBoxのマスキング文字を取得または設定します。

9

PasswordCharProperty

PasswordChar依存プロパティを識別します。

10

PasswordProperty

パスワード依存プロパティを識別します。

11

PasswordRevealMode

パスワードを常に使用するか、使用しないか、オプションで不明瞭にするかを指定する値を取得または設定します。

12

PasswordRevealModeProperty

PasswordRevealMode依存プロパティを識別します。

13

Resources

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

イベント

以下は、PasswordBoxクラスの一般的に使用されるイベントです。

Sr.No. Event & Description
1

ContextMenuOpening

システムがコンテキストメニューを表示するインタラクションを処理するときに発生します。

2

GotFocus

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

3

PasswordChanged

Passwordプロパティの値が変更されたときに発生します。

4

Paste

テキストがコントロールに貼り付けられたときに発生します。

方法

以下は、PasswordBoxクラスの一般的に使用されるメソッドです。

Sr.No. Method & Description
1

OnLostFocus

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

2

SelectAll

PasswordBoxのすべての文字を選択します。

3

SetBinding

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

4

SetValue

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

次の例は、PasswordBox、ラベル、およびボタンを示しています。 これらすべてのコントロールを作成および初期化するXAMLコードを次に示します。

<Window x:Class = "PasswordBox.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>
      <PasswordBox x:Name = "pwBox"
         Height = "35"
         Width = "200"
         MaxLength = "8"
         Margin = "159,55,158,229"/>
      <Label Content = "Password"
         HorizontalAlignment = "Left"
         Margin = "108,61,0,0"
         VerticalAlignment = "Top"
         Width = "70"/>
      <Button Content = "Ok" HorizontalAlignment = "Left"
         Margin = "406,64,0,0"
         VerticalAlignment = "Top"
         Width = "75" Click = "Button_Click"/>
      <Label Name = "statusText"
         HorizontalAlignment = "Left"
         Margin = "159,128,0,0"
         VerticalAlignment = "Top"
         Width = "200"
         Height = "38"/>
   </Grid>
</Window>

以下は、プログラムがパスワードを比較するC#のボタンクリックイベントの実装です。 入力したパスワードが「xaml1234」の場合、ラベルに「正しいパスワード」というメッセージが表示されます。

using System.Linq;
using System.Windows;
using System.Windows.Controls;

namespace XAMLMenu {
   public partial class MainWindow : Window {
      public MainWindow() {
         InitializeComponent();
      }
      private void MenuItem_Click(object sender, RoutedEventArgs e) {
         MenuItem item = sender as MenuItem;
        this.Title = "File: " + item.Header;
      }
      private void MenuItem_Click1(object sender, RoutedEventArgs e) {
         MenuItem item = sender as MenuItem;
         this.Title = "Edit: " + item.Header;
      }
   }
}

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

パスワードボックス出力

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