2016-04-13 2 views
-1

Мне нужно воспроизвести что-то вроде этого contact form: они реализовали то, что я ожидаю.Анимированный водяной знак в текстовом поле

Вот другой образец: от этого http://i.stack.imgur.com/D0EJr.jpg этой http://i.stack.imgur.com/djmAh.jpg

+0

Разработайте немного ... если вы можете создать макет ... – FiN

+0

спасибо за ответ .. обновлен ссылкой ..pls do check –

+0

Итак, это «имя» просто своего рода заполнитель или ярлык связанные с текстовым полем? –

ответ

0

После замечания, я вижу, что, может быть, вам нужно что-то вроде этого:

<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> 

В этом случае вы должны использовать стиль, чтобы создать ваш собственный template. Вы можете найти ValueToEqualsParameterConverterhere.

+0

Работает, но не может видеть название текста и контента –

+0

Прошу прощения @rajsharmashanmugam, это не очень легко понять ваши требования, прочитав ваш вопрос или просмотрев ссылки. Вероятно, вы должны предоставить более подробную информацию. –

+0

позвольте мне объяснить, откройте фотографию 1 на новой вкладке и посмотрите, если вы нажмете на фото 1, «Имя» должно перейти вверх и позволить пользователю вводить данные в текстовое поле, например, фото 2 –

Смежные вопросы