PasswordBoxを使用する WPF

VB Tips And Sample(HOME)VBプログラマの為のWPF入門

PasswordBoxを使用する WPF

パスワードボックスは、入力テキストの表示を、任意の1文字に置き換えてくれるテキストボックスだ。
非常に単純なやつだが、無いと困るコントロール。
因みに、自作するとなると、と思い、調べてみると、WPFのTextBoxはIMEモードが標準では使用できない。
なので、単純に、WindowsFormsHostを使って、Windowsのフォームコントロールを使用する方がよいみたいです。
うーん。まだまだ発展途上なのか?WPF?そもそも発展するのか?
随分怪しいですね。
と言うわけで、今回は、PasswordBoxと、Windowsのフォームコントロールを使用する方法。
PasswordBoxは、貼り付けて、passwordCharに任意の一文字を入れればよい。それで終了。

Windowsのフォームコントロールを使用する方法

は、XAMLに、フォームコントロールの名前空間を宣言する必要があります。
xmlns:wf="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms"
を追加。
で、次にWindowsFormsHostを追加した後、<wf:まで入力すると、フォームコントロールの名前がずらっと出てきて選択すれば、TextBoxを追加できる。
因みにWPFではデザイン時、フォームコントロールはグレー表示になってしまう。残念。
ま、実行時は通常の動きをしてくれるので良しとしましょうか?

名前空間とは?

先ほど出てきた、名前空間ですが、xmlnsがお決まり。
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"は、ユーザインターフェイス、要はコントロールなどの名前空間。
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"は、XAMLの名前空間。要はコントロール外の名前空間?
との事。
分かりにくいですよね?。「x」は、スタイル指定などする際によく使うかな?

パスワードコントロール
<Window x:Class="Window6"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Window6" Height="415" Width="307" WindowStyle="SingleBorderWindow"
        xmlns:wf="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms">
        <Grid>
        <StackPanel >
            <PasswordBox Height="51" Name="PasswordBox1" Width="120" PasswordChar="e" BorderBrush="#FF784B00" Background="Red" BorderThickness="10" />
            <PasswordBox Height="24" Name="PasswordBox2" Width="120" />
            <Rectangle Height="71" Name="Rectangle1" Stroke="#FF7EC300" Width="152" Fill="#FF8C0000" />
            <Rectangle Height="67" Name="Rectangle2" Stroke="Black" Width="159" />
            <WindowsFormsHost Height="26" Name="WindowsFormsHost1" Width="152" >
                <wf:TextBox Name="TextBox1_F" ImeMode="Alpha">
                    
                </wf:TextBox>
            </WindowsFormsHost>
        </StackPanel>
        
    </Grid>
</Window>

VB Tips And Sample(HOME)VBプログラマの為のWPF入門