Czy istnieje jakiś „typ zastępczy” nieruchomość one dostępne dla pola tekstowego w XAML w Windows Phone 8Dlaczego nie ma Miejsce zarezerwowane jak własności w XAML TextBox
Odpowiedz
Istnieje PhoneTextBox w oficjalnym Windows Phone Toolkit, objęte here.
Przykładowy kod:
<toolkit:PhoneTextBox Hint="Password"/>
Aby dodać zestaw narzędzi do projektu: Wpisz następujące do swojego pakietu konsoli Manager:
PM> Install-Package WPtoolkit
I
xmlns:toolkit="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls.Toolkit"
wewnątrz <phone:PhoneApplicationPage
tag na stronie xaml
Nie ma Obiekt zastępczy dla TextBox. Używam następujące rozwiązanie, aby obejść to przez tekstowym Nazwa użytkownika:
XAML:
<Grid>
<TextBlock Name="UsernamePlaceholder" Text="Username" />
<TextBox Name="UsernameTextBox" Text="" GotFocus="TextBox_GotFocus" LostFocus="TextBox_LostFocus"/>
</Grid>
Kod:
private void TextBox_GotFocus(object sender, RoutedEventArgs e)
{
UsernamePlaceholder.Visibility = Visibility.Collapsed;
}
private void TextBox_LostFocus(object sender, RoutedEventArgs e)
{
if (sender is TextBox)
{
var textbox = sender as TextBox;
if (string.IsNullOrEmpty(textbox.Text))
{
UsernamePlaceholder.Visibility = Visibility.Visible;
}
}
}
to w zasadzie zastępuje TextBox z siatki elementu zawierającego TextBox i TextBlock (działający jako element zastępczy). Następnie, gdy pole tekstowe jest wyostrzone, blok tekstu jest ukryty, a gdy traci ostrość, pokazuje się blok tekstu, jeśli pole tekstowe jest puste.
Moje rozwiązanie opiera się na odpowiedź z PKENO
XAML (UserControl):
<UserControl x:Class="FestivalProject.Controls.TextBoxPH"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d">
<TextBox x:Name="testTextBox" Margin="0" LostFocus="testTextBox_LostFocus" GotFocus="testTextBox_GotFocus"/>
</UserControl>
Code za UserControl:
public partial class TextBoxPH : UserControl
{
private String _Text;
public String Text
{
get { return _Text; }
set {
_Text = testTextBox.Text = value;
}
}
private String _PlaceHolder;
public String PlaceHolder
{
get { return _PlaceHolder; }
set {
_PlaceHolder =testTextBox.Text = value;
}
}
public TextBoxPH()
{
InitializeComponent();
}
private void testTextBox_LostFocus(object sender, RoutedEventArgs e)
{
if (string.IsNullOrEmpty(testTextBox.Text)) testTextBox.Text = PlaceHolder;
}
private void testTextBox_GotFocus(object sender, RoutedEventArgs e)
{
if (testTextBox.Text.Equals(PlaceHolder, StringComparison.OrdinalIgnoreCase)) testTextBox.Text = string.Empty;
}
}
XAML (w oknie):
<txtPH:TextBoxPH Margin="5" Grid.ColumnSpan="2" PlaceHolder="PlaceholderText"/>
Prawdopodobnie nie jest to najbardziej efektywny sposób, ale działa.
Spróbuj jak ten poniżej kodu:
<TextBox x:Name="InvoiceDate" Text="" Width="300" TextAlignment="Left" Height="30" Grid.Row="0" Grid.Column="3" Grid.ColumnSpan="2" />
<TextBlock IsHitTestVisible="False" Text="Men att läsa" Width="300" TextAlignment="Left" Height="30" Grid.Row="0" Grid.Column="3" Grid.ColumnSpan="2" Padding="5, 5, 5, 5" Foreground="LightGray">
<TextBlock.Style>
<Style TargetType="{x:Type TextBlock}">
<Setter Property="Visibility" Value="Collapsed"/>
<Style.Triggers>
<DataTrigger Binding="{Binding Text, ElementName=InvoiceDate}" Value="">
<Setter Property="Visibility" Value="Visible"/>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
- 1. Określ własności przechodzi między otworem a tagiem zamykającym w XAML
- 2. Dlaczego mój obraz ma miejsce pod spodem?
- 3. Korzystanie pole tekstowe HTML w miejsce TextBox ASP.NET
- 4. Zarezerwowane wyrazy w Javie
- 5. KeyBinding w UserControl nie działa, gdy TextBox ma fokus.
- 6. W puli ABI Win64, czy zarezerwowane miejsce stosu argumentów może być używane do przechowywania ogólnego przeznaczenia?
- 7. jQuery: Pokaż przycisk, gdy TextBox ma zawartość
- 8. Dlaczego nie ma jednolitej_dystrybucji?
- 9. Dlaczego nie ma IntStream.flatMapToObj()?
- 10. Czy nie ma DatePicker dla xaml w Windows 8 Metro?
- 11. UpdatePanel nie ma publicznej właściwości o nazwie "TextBox".
- 12. jak wyłączyć już zarezerwowane daty?
- 13. Dlaczego mój TextBlock/TextBox nie stosuje wartości ze stylu bazowego?
- 14. niepubliczne zarezerwowane słowo?
- 15. Dlaczego inicjalizacja zerowa ma miejsce, nawet jeśli baza ma konstruktor deklarowany przez użytkownika?
- 16. Miejsce zarezerwowane vs dosłownym dodawania znaczników HTML generowanego w czasie wykonywania
- 17. Zarezerwowane słowa kluczowe javaScript
- 18. Dlaczego XAML jest wkompilowany w BAML, a nie w C#
- 19. Dlaczego nie ma std :: inplace_merge_unique?
- 20. Dlaczego Scala nie ma decltype?
- 21. Jak ustawić przezroczystość tła i krycie na granicy w XAML?
- 22. Dlaczego nie ma destructingu w formie def?
- 23. Deque - dlaczego nie ma "rezerwy"?
- 24. Dlaczego w Scali nie ma cechy "Funktora"?
- 25. Dlaczego nie ma "static_if" w C++ 11
- 26. dlaczego LinkedList nie ma initialCapacity w java?
- 27. Dlaczego nie ma Object.setPrototypeOf (...) w standardzie ECMAScript?
- 28. Dlaczego w log4Net nie ma poziomu śledzenia?
- 29. Klasa nie posiada własności
- 30. Wyzwalacz XAML jako StaticResource
dzięki jego pomocne. – John
VerticalContentAlignment = "Góra" nie działa? każdy wie jak zrobić to w pionie wyrównanie do góry (tekst, który jest) – Jimmyt1988
Czy istnieje sposób na zachowanie tekstu podpowiedzi, gdy texbox otrzyma fokus? –