如何隐藏标签,直到输入了文本框信息

时间:2019-07-16 14:45:48

标签: c# wpf xaml

我正在尝试隐藏标签,直到用户在texbox中输入数字为止。然后,我要显示标签。我希望在不使用C#的情况下将其全部包含在XAML中。

我根据网上发现的东西尝试了不同类型的绑定。我想我一定要亲近,但仍有问题。

这是文本框代码:

<TreeViewItem Grid.Row="1" FontSize="12" Header="Width"/>
<TextBox Text="{Binding xcoord, UpdateSourceTrigger=PropertyChanged}" Name="x" Height="20" Width="40" Grid.Row="1" Grid.Column="2" />

这是标签代码:

<Label Foreground="SteelBlue" FontWeight="Bold" HorizontalAlignment="Center" VerticalContentAlignment="Center" Height="40" Background="Transparent" x:Name="label1"  FontSize="16" Width="160"  Content="{Binding Text, ElementName=x}" ContentStringFormat=" {0} mm" Canvas.Left="220" Canvas.Top="382" RenderTransformOrigin="1.045,-0.141" VerticalAlignment="Top">
                    <Label.Style>
                        <Style TargetType="Label">
                            <Setter Property="Visibility" Value="Hidden" />
                            <Style.Triggers>
                                <DataTrigger Binding="{Binding Text.Length, ElementName=x, UpdateSourceTrigger=PropertyChanged}" Value="True">
                                    <Setter Property="Visibility" Value="Visible"/>
                                </DataTrigger>
                            </Style.Triggers>
                        </Style>
                    </Label.Style>

                </Label>

基本上,我尝试过的所有操作都根本不会在屏幕上显示标签。

1 个答案:

答案 0 :(得分:0)

类似的方法可能会起作用-如果texbox文本为空,则将隐藏标签

<TextBox x:Name "tb1"/>
<Label Foreground="SteelBlue" FontWeight="Bold" HorizontalAlignment="Center" VerticalContentAlignment="Center" Height="40" Background="Transparent" x:Name="label1"  FontSize="16" Width="160"  Content="{Binding Text, ElementName=x}" ContentStringFormat=" {0} mm" Canvas.Left="220" Canvas.Top="382" RenderTransformOrigin="1.045,-0.141" VerticalAlignment="Top">
    <Label.Style>
        <Style TargetType="Label">
            <Style.Triggers>
                <DataTrigger Binding="{Binding Text, ElementName=tb1}" Value="">
                    <Setter Property="Visibility" Value="Hidden" />
                </DataTrigger>
            </Style.Triggers>
        </Style>
    </Label.Style>
</Label>
相关问题