0
我想在Windows手機應用程序的XAML中創建自定義水印文本框。我有大部分工作。如果文本框綁定到包含數據的字段,則水印文本將變爲不可見。但是,如果該字段開始爲空,然後我在控件中輸入文本,則無法將水印設置爲不可見。問題創建WatermarkTextBox xaml
我正在偵聽TextChanged事件,但在這種情況下Text屬性保持爲空。有任何想法嗎?
public class WatermarkTextBox : TextBox
{
public WatermarkTextBox()
{
this.TextChanged += WatermarkTextBox_TextChanged;
}
public string WatermarkText
{
get { return (string)this.GetValue(WatermarkTextProperty); }
set { this.SetValue(WatermarkTextProperty, value); }
}
public static readonly DependencyProperty WatermarkTextProperty = DependencyProperty.Register(
"WatermarkText", typeof(string), typeof(WatermarkTextBox), new PropertyMetadata(string.Empty));
public Visibility WatermarkTextVisibility
{
get { return (Visibility)this.GetValue(WatermarkTextVisibilityProperty); }
set { this.SetValue(WatermarkTextVisibilityProperty, value); }
}
public static readonly DependencyProperty WatermarkTextVisibilityProperty = DependencyProperty.Register(
"WatermarkTextVisibility", typeof(Visibility), typeof(WatermarkTextBox), new PropertyMetadata(Visibility.Visible));
void WatermarkTextBox_TextChanged(object sender, TextChangedEventArgs e)
{
this.WatermarkTextVisibility = string.IsNullOrEmpty(this.Text) ? Visibility.Visible : System.Windows.Visibility.Collapsed;
}
}
您是否有任何可用的源代碼。當我安裝nuget包時,我只能得到dll。我想知道我需要做什麼來解決這個未來的應用程序。 –
結帳更新了答案。 – Xyroid