3

これは、ログイン画面のTextBoxコントロール用であり、TextBoxにはユーザー名が含まれています。TextBoxを次のように実行したい:

  • コンテンツが空の場合、コンテンツは「ユーザー名」に設定する必要があります。

  • TextBoxをクリックしたら、コンテンツを「」に設定します。何もありません(コンテンツがユーザーによってすでに編集されている場合を除く)。

これは今日ではかなり標準的な機能であり、このワードプレスログイン(ページの上部)のようなものです。私は恐れているこれよりも良い例を考えていません:)

とにかく、私はすでにViewModelを使用してこれを実行しており、それはうまく機能しますが、これが純粋にXAMLエンドから実行できるかどうかを知りたいです。ビジネスロジックは関係ないので、VMなしで行う方が良いと思います。

4

3 に答える 3

6

以下のサンプルを見つけて、あなたの道を見つけるのに役立ちます。

http://bendewey.wordpress.com/2008/09/27/wpf-shadowed-textbox-watermark/

http://www.c-sharpcorner.com/uploadfile/rahul4_saxena/watermark-textbox-in-wpf/

http://www.codeproject.com/Articles/26977/A-WatermarkTextBox-in-3-lines-of-XAML

于 2012-05-21T15:25:18.907 に答える
1

拡張WPFツールキットには、純粋なXAMLで要求していることを実行する透かしテキストボックスがあります。他にもライブラリがあります。

拡張WPFツールキットを使用することの良い点は、Nugetでそれを取得し、VisualStudioを介して直接更新プログラムをインストールおよびインストールできることです。

于 2012-05-21T15:45:19.557 に答える
1

純粋なXAML:

<Grid>
    <TextBox  Width="250"  VerticalAlignment="Center" HorizontalAlignment="Left" x:Name="SearchTermTextBox" Margin="5"/>
    <TextBlock IsHitTestVisible="False" Text="Enter Search Term Here" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="10,0,0,0" Foreground="DarkGray">
        <TextBlock.Style>
            <Style TargetType="{x:Type TextBlock}">
                <Setter Property="Visibility" Value="Collapsed"/>
                <Style.Triggers>
                    <DataTrigger Binding="{Binding Text, ElementName=SearchTermTextBox}" Value="">
                        <Setter Property="Visibility" Value="Visible"/>
                    </DataTrigger>
                </Style.Triggers>
            </Style>
        </TextBlock.Style>
    </TextBlock>
</Grid>

取得元:https ://stackoverflow.com/a/21672408/4423545

于 2019-01-16T05:09:30.777 に答える