2014-02-14 62 views
0

我正在为windows phone 7构建一个应用程序。我有一个带有几个文本框的窗体。现在我想在我的表单中放置占位符,这是我以编程方式创建的。在某些情况下,当我点击TextBox占位符被清除时,它工作正常。但它像一个价值。该文本框不被视为包含空值。请看看我的代码:在windows phone 7应用程序的文本框中占位

的XAML:

<TextBox GotFocus="OnGotFocus" Canvas.Left="6" Canvas.Top="6" Height="74" Name="name" Text="*Name" Width="453" BorderThickness="0"/> 
      <TextBox GotFocus="OnGotFocus1" Canvas.Left="6" Canvas.Top="66" Height="74" Name="age" Text="*Age" Width="453" BorderThickness="0" /> 
      <TextBlock Canvas.Left="20" Canvas.Top="157" Height="44" Name="gen" Text="Gender" Foreground="Black" FontFamily="Verdana" FontSize="24" Width="134" /> 
      <RadioButton Canvas.Left="139" Canvas.Top="157" FontStyle="Italic" Foreground="Black" Content="Male" Height="71" Name="male" Width="154" /> 
      <RadioButton Canvas.Left="139" Canvas.Top="207" FontStyle="Italic" Foreground="Black" Content="Female" Height="71" Name="fem" Width="140" /> 
      <TextBox GotFocus="OnGotFocus2" Canvas.Left="6" Canvas.Top="267" Height="74" Name="sadd" Text="*Street Address" Width="453" BorderThickness="0"/> 
      <TextBox GotFocus="OnGotFocus3" Canvas.Left="6" Canvas.Top="327" Height="74" Name="cadd" Text="*City Address" Width="453" BorderThickness="0"/> 
      <TextBox GotFocus="OnGotFocus4" Canvas.Left="6" Canvas.Top="387" Height="74" Name="eadd" Text="*Email Address" Width="453" BorderThickness="0"/> 
      <TextBox GotFocus="OnGotFocus5" Canvas.Left="6" Canvas.Top="447" Height="74" Name="phn" Text="*Phone" Width="453" BorderThickness="0"/> 
      <TextBox GotFocus="OnGotFocus6" Canvas.Left="6" Canvas.Top="507" Height="74" Name="zip" Text="*Zip Code" Width="453" BorderThickness="0"/> 

铯文件:

private void OnGotFocus(object sender, RoutedEventArgs e) 
    { 
     if (name.Text.Equals("*Name", StringComparison.OrdinalIgnoreCase)) 
     { 
      name.Text = string.Empty; 
     } 
    } 

    private void OnGotFocus1(object sender, RoutedEventArgs e) 
    { 
     if (age.Text.Equals("*Age", StringComparison.OrdinalIgnoreCase)) 
     { 
      age.Text = string.Empty; 
     } 
    } 

    private void OnGotFocus2(object sender, RoutedEventArgs e) 
    { 
     if (sadd.Text.Equals("*Street Address", StringComparison.OrdinalIgnoreCase)) 
     { 
      sadd.Text = string.Empty; 
     } 
    } 

    private void OnGotFocus3(object sender, RoutedEventArgs e) 
    { 
     if (cadd.Text.Equals("*City Address", StringComparison.OrdinalIgnoreCase)) 
     { 
      cadd.Text = string.Empty; 
     } 
    } 

    private void OnGotFocus4(object sender, RoutedEventArgs e) 
    { 
     if (eadd.Text.Equals("*Email Address", StringComparison.OrdinalIgnoreCase)) 
     { 
      eadd.Text = string.Empty; 
     } 
    } 

    private void OnGotFocus5(object sender, RoutedEventArgs e) 
    { 
     if (phn.Text.Equals("Phone", StringComparison.OrdinalIgnoreCase)) 
     { 
      phn.Text = string.Empty; 
     } 
    } 

    private void OnGotFocus6(object sender, RoutedEventArgs e) 
    { 
     if (zip.Text.Equals("*Zip Code", StringComparison.OrdinalIgnoreCase)) 
     { 
      zip.Text = string.Empty; 
     } 
    } 

我想不被认为是值的占位符。请帮忙。

回答

1

你看过windows工具包的PhonetextBox,它有一个提示属性。它应该帮助你。

+0

我该如何使用它。请使用Google搜索帮助 – bhaku

+0

。首先阅读文档 –

+0

我也添加了一个链接。如果您觉得我的回答是正确的,请将其标记为答案。希望它有帮助。 –

1

你也可以使用codeplex提供的水印文本框控件。它会根据您的需求工作

here是链接。