Wpf-passwordbox

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

WPF-パスワードボックス

PasswordBoxは、ユーザーがマスクされたパスワードを入力できるようにするコントロールです。 ユーザーがパスワードを入力すると、パスワード文字として表示されます。 PasswordCharプロパティを設定して、パスワード文字を変更できます。 PasswordBoxクラスの階層的な継承は次のとおりです-

パスワードボックスの階層

PasswordBoxクラスの一般的に使用されるプロパティ

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クラスの一般的に使用されるイベント

PasswordBoxで最も一般的に使用されるイベントを以下に示します。

Sr.No. Event & Description
1

ContextMenuOpening

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

2

GotFocus

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

3

PasswordChanged

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

4

Paste

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

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

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>

入力したパスワードが*“ wpf12345” である場合にプログラムが比較するボタンクリックイベント C#*での実装は、テキストブロックに正しいパスワードメッセージを表示します。

using System.Windows;

namespace WPFPasswordBoxControl {
  ///<summary>
     ///Interaction logic for MainWindow.xaml
  ///</summary>

   public partial class MainWindow : Window {

      public MainWindow() {
         InitializeComponent();
      }

      private void Button_Click(object sender, RoutedEventArgs e) {

         if (pwBox.Password.ToString() == "wpf12345")
            statusText.Text = "Password Accepted";
         else
            statusText.Text = "Wrong Password";
      }

   }
}

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

Passwordboxの出力

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