我是xaml的新手,不知道数据绑定是如何工作的。我的文本框为空时,我尝试启用提示文本。但我不确定数据绑定是如何工作的,当它不为空时禁用它。
这是我发现的一个解决方案,用于获取我的提示文本。如果我的名字文本框有值,这段代码如何禁用它?
<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>
答案 0 :(得分:0)
没关系,我想通了。
我可以将文本框绑定设置为:
<TextBox Text="{Binding SelectedItem.FirstName,
UpdateSourceTrigger=PropertyChanged}"
Grid.Row="1">
如果您有一个开始和结束的<textbox>
和</textbox>
标签,我不知道您可以这样做。
我认为只有在textbox
有一个自动结束标记(<textbox />
)时才能这样做。
抱歉这个愚蠢的问题。