Я новичок в xaml и не знаю, как работает databind. Я пытаюсь включить текст подсказки, когда мое текстовое поле равно null. Но я не уверен, как работает привязка данных, чтобы отключить его, когда он не равен нулю.Как я могу установить текст подсказки (cue banner) в текстовом поле, когда он пуст или пуст, и отключить, если он не пуст или не равен нулю?
Вот решение, которое я нашел, что работает, чтобы получить мой текст подсказки. Как этот код работает, чтобы отключить его, если мое текстовое поле с первым именем имеет значение?
<TextBox Grid.Row="1">
<TextBox.Style>
<Style TargetType="TextBox" xmlns:sys="clr-namespace:System;assembly=mscorlib">
<Style.Resources>
<VisualBrush x:Key="CueBannerBrush" AlignmentX="Left" AlignmentY="Center" Stretch="None">
<VisualBrush.Visual>
<Label Content="First Name" Foreground="LightGray" />
</VisualBrush.Visual>
</VisualBrush>
</Style.Resources>
<Style.Triggers>
<Trigger Property="Text" Value="{x:Static sys:String.Empty}">
<Setter Property="Background" Value="{StaticResource CueBannerBrush}" />
</Trigger>
<Trigger Property="Text" Value="{x:Null}">
<Setter Property="Background" Value="{StaticResource CueBannerBrush}" />
</Trigger>
<Trigger Property="IsKeyboardFocused" Value="True">
<Setter Property="Background" Value="White" />
</Trigger>
</Style.Triggers>
</Style>
</TextBox.Style>
<TextBox.Template>
<ControlTemplate>
<TextBox Text="{Binding SelectedItem.FirstName,UpdateSourceTrigger=PropertyChanged}"/>
</ControlTemplate>
</TextBox.Template>
</TextBox>
Возможный дубликат текста [Watermark/hint text/placeholder TextBox в WPF] (http://stackoverflow.com/questions/833943/watermark-hint-text-placeholder-textbox-in-wpf) –
Я отозвал свой закрытый голос как только я понял, что вы примете свой пример из [предыдущего ответа] (https://stackoverflow.com/questions/39213504/how-to-apply-cuebanner-for-a-textbox-in-xaml). Вы просто хотите отключить его значение IF = не null? –
Я просто хотел связать текст. Я понял, просто поместив привязку в начало –
Van