C# 文本框中的动画水印

C# 文本框中的动画水印,c#,wpf,textbox,C#,Wpf,Textbox,我需要复制这样的东西:他们实现了我所期望的 下面是另一个示例:从这个到这个在您发表评论之后,我发现您可能需要这样的东西: <TextBox Tag="Name" BorderThickness="0, 0, 0, 1" BorderBrush="Blue" HorizontalAlignment="Stretch" Margin="10" Padding="2" Foreground="Blue"> <TextBox.Style>

我需要复制这样的东西:他们实现了我所期望的


下面是另一个示例:从这个到这个

在您发表评论之后,我发现您可能需要这样的东西:

<TextBox Tag="Name" BorderThickness="0, 0, 0, 1" BorderBrush="Blue" HorizontalAlignment="Stretch" 
            Margin="10" Padding="2" Foreground="Blue">
    <TextBox.Style>
        <Style TargetType="TextBox" BasedOn="{StaticResource {x:Type TextBox}}">
            <Setter Property="Control.Template">
                <Setter.Value>
                    <ControlTemplate TargetType="{x:Type TextBox}">
                        <Border BorderThickness="{TemplateBinding BorderThickness}" BorderBrush="{TemplateBinding BorderBrush}"
                                Margin="{TemplateBinding Margin}" Padding="{TemplateBinding Padding}">
                            <Grid>
                                <Grid.RowDefinitions>
                                    <RowDefinition Height="Auto" />
                                    <RowDefinition Height="Auto" />
                                </Grid.RowDefinitions>
                                <TextBlock Text="{TemplateBinding Tag}" Focusable="False" Foreground="{TemplateBinding Foreground}" />
                                <ScrollViewer Name="PART_ContentHost" Focusable="False" 
                                                ScrollViewer.HorizontalScrollBarVisibility="Hidden"
                                                ScrollViewer.VerticalScrollBarVisibility="Hidden" 
                                                Background="#00FFFFFF" />
                            </Grid>
                        </Border>

                        <ControlTemplate.Triggers>
                            <MultiTrigger>
                                <MultiTrigger.Conditions>
                                    <Condition Property="IsFocused" Value="true" />
                                    <Condition Property="Text" Value="" />
                                </MultiTrigger.Conditions>
                                <MultiTrigger.Setters>
                                    <Setter TargetName="PART_ContentHost" Property="Grid.Row" Value="1" />
                                </MultiTrigger.Setters>
                            </MultiTrigger>
                            <DataTrigger>
                                <DataTrigger.Binding>
                                    <Binding Path="Text" RelativeSource="{RelativeSource Self}" Converter="{StaticResource ValueToEqualsParameterConverter}">
                                        <Binding.ConverterParameter>
                                            <x:Static Member="sys:String.Empty" />
                                        </Binding.ConverterParameter>
                                    </Binding>
                                </DataTrigger.Binding>
                                <DataTrigger.Value>
                                    <sys:Boolean>False</sys:Boolean>
                                </DataTrigger.Value>
                                <DataTrigger.Setters>
                                    <Setter TargetName="PART_ContentHost" Property="Grid.Row" Value="1" />
                                </DataTrigger.Setters>
                            </DataTrigger>
                        </ControlTemplate.Triggers>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
    </TextBox.Style>
</TextBox>

假的

在这种情况下,您必须使用样式来创建自己的样式。您可以找到
valuetoequalparameterconverter
实现。

详细说明一下。。。如果你能创建一个模型…谢谢你的回复..更新了一个链接..请检查一下,“名称”只是一种占位符还是与文本框相关的标签?工作正常,但看不到文本和内容的名称我很抱歉@rajsharmashanmugam,通过阅读您的问题或查看链接来理解您的需求并非易事。也许你应该提供更多详细信息请听我解释,在“新建”选项卡中打开照片1,然后看到,如果你在照片1中单击,“名称”应该向上移动,并允许用户在文本框中输入详细信息,如照片2问题是,在文本框中输入文本后,如果你在另一个文本框中单击“标记名称”我明白你的意思了@rajsharmashanmugam:看看我的新编辑。