مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

rasoul sadeghi

عضویت از 1394/06/31

WPF

  • یکشنبه 28 خرداد 1396
  • 20:18
تشکر میکنم

با سلام 

چگونه میشه در wpf واترمارک در textbox ایجاد کرد

پاسخ های این پرسش

تعداد پاسخ ها : 3 پاسخ
کاربر سایت

سجاد باقرزاده

عضویت از 1392/02/24

  • یکشنبه 28 خرداد 1396
  • 23:21

با تنظیم تصویر در پس زمینه Textbox و کم کردن میزان شفافیت آن :

<TextBox Height="50" Name="txtLogo">
            <TextBox.Background>
                <ImageBrush ImageSource="Logo_01.jpg" Stretch="Uniform" Opacity=".2"/>
            </TextBox.Background>

        </TextBox>

کاربر سایت

rasoul sadeghi

عضویت از 1394/06/31

  • دوشنبه 29 خرداد 1396
  • 23:53

بعد می خوام وقتی روی تکست باکس کلیک کردم متن ماترمارک از بین برود ولی اگه درون متن پر نشد دوباره واترمارک ظاهر شود

کاربر سایت

سجاد باقرزاده

عضویت از 1392/02/24

  • سه شنبه 30 خرداد 1396
  • 14:06

کد زیر جهت واتر مارک کردن برای حالت 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;
            }
        }

    }

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)