Можно сделать как овощ, Если появилась возможность написать что-либо в текстбоксе то не рендерить текст который должен исчезать(ну и конечно добавить плавную анимацию).placeholder - исчезающий текст при нажатии на textbox
Посмотреть вложение 170645
пытался сделать сам, гуглил и перепробовал 100500 решений - ничего не работает
(хотя уверен это занимает несколько строчек кода)
По идее делается в пару строк.Можно сделать как овощ, Если появилась возможность написать что-либо в текстбоксе то не рендерить текст который должен исчезать(ну и конечно добавить плавную анимацию).
<TextBox x:Name="name" ></TextBox>
<TextBlock Text="URL"">
<TextBlock.Style>
<Style TargetType="{x:Type TextBlock}">
<Setter Property="Visibility" Value="Collapsed"></Setter>
<Style.Triggers>
<DataTrigger Binding="{Binding Text, ElementName = name}" Value="">
<Setter Property="Visibility" Value="Visible"></Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
public void RemoveText(object sender, EventArgs e)
{
TextBox instance = (TextBox)sender;
if (instance.Text == instance.Tag.ToString())
instance.Text = "";
}
public void AddText(object sender, EventArgs e)
{
TextBox instance = (TextBox)sender;
if (string.IsNullOrWhiteSpace(instance.Text))
instance.Text = instance.Tag.ToString();
}
<TextBox HorizontalAlignment="Left" Height="23" Margin="44,22,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="120" GotFocus="RemoveText" LostFocus="AddText" Tag="Irval" Text="Irval"/>
<Style x:Key="placeHolder" TargetType="{x:Type TextBox}" BasedOn="{StaticResource {x:Type TextBox}}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type TextBox}">
<Grid>
<TextBox Text="{Binding Path=Text,
RelativeSource={RelativeSource TemplatedParent},
Mode=TwoWay,
UpdateSourceTrigger=PropertyChanged}"
x:Name="textSource"
Background="Transparent"
Panel.ZIndex="2" />
<TextBox Text="{TemplateBinding Tag}" Background="{TemplateBinding Background}" Panel.ZIndex="1">
<TextBox.Style>
<Style TargetType="{x:Type TextBox}">
<Setter Property="Foreground" Value="Transparent"/>
<Style.Triggers>
<DataTrigger Binding="{Binding Path=Text, Source={x:Reference textSource}}" Value="">
<Setter Property="Foreground" Value="LightGray"/>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBox.Style>
</TextBox>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<TextBox Style="{StaticResource placeHolder}" Tag="Irval" HorizontalAlignment="Left" Height="23" Margin="44,22,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="120"/>
Проект предоставляет различный материал, относящийся к сфере киберспорта, программирования, ПО для игр, а также позволяет его участникам общаться на многие другие темы. Почта для жалоб: admin@yougame.biz