با سلام
چگونه میشه در wpf واترمارک در textbox ایجاد کرد
با تنظیم تصویر در پس زمینه Textbox و کم کردن میزان شفافیت آن :
<TextBox Height="50" Name="txtLogo"> <TextBox.Background> <ImageBrush ImageSource="Logo_01.jpg" Stretch="Uniform" Opacity=".2"/> </TextBox.Background> </TextBox>
بعد می خوام وقتی روی تکست باکس کلیک کردم متن ماترمارک از بین برود ولی اگه درون متن پر نشد دوباره واترمارک ظاهر شود
کد زیر جهت واتر مارک کردن برای حالت Placeholder تکت باکس می باشد :
XAML :
<StackPanel> <TextBox Height="30" Name="txtLogo" Margin="10"> <TextBox.Background> <ImageBrush ImageSource="Logo_01.jpg" Stretch="Uniform" Opacity=".5"/> </TextBox.Background> </TextBox> <TextBox Height="30" Name="txtLogo2" Margin="10"> </TextBox> </StackPanel>
C# :
public partial class frmTextBoxWatermark : Window { public frmTextBoxWatermark() { InitializeComponent(); txtLogo.Text = "Enter text here..."; txtLogo.GotFocus += TxtLogoOnGotFocus; txtLogo.LostFocus += TxtLogoOnLostFocus; } private void TxtLogoOnLostFocus(object sender, RoutedEventArgs routedEventArgs) { if (String.IsNullOrWhiteSpace(txtLogo.Text)) { #region WaterMark Image ImageBrush textImageBrush = new ImageBrush(); textImageBrush.ImageSource = new BitmapImage(new Uri(BaseUriHelper.GetBaseUri(this), "Logo_01.jpg")); textImageBrush.AlignmentX = AlignmentX.Right; textImageBrush.Stretch = Stretch.Uniform; textImageBrush.Opacity = 0.5; txtLogo.Background = textImageBrush; #endregion txtLogo.Text = "Enter text here..."; } } private void TxtLogoOnGotFocus(object sender, RoutedEventArgs routedEventArgs) { if (txtLogo.Text == "Enter text here...") { txtLogo.Text = ""; txtLogo.Background = null; } } }
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)