如何在WP7中隐藏文本框

时间:2012-02-22 07:58:24

标签: textbox windows-phone-7.1 hidden-field

我想要三个文本框(只显示其中一个输入文本)按钮选择要输入文本的文本框 我将textbox 0.0的opacity属性设置为隐藏设置不透明度为1.0以显示。

在xaml页面中:

<StackPanel Grid.Row="0" Orientation="Horizontal">
            <Button x:Name="btnGood" HorizontalAlignment="Center" 
                        Content="Good" 
                        Click="Toggle_Click">
            </Button>
            <Button x:Name="btnBad" HorizontalAlignment="Center" 
                        Content="Bad"  
                        Click="Toggle_Click">
            </Button>
            <Button x:Name="btnDetail" HorizontalAlignment="Center" 
                        Content="Detail" 
                        Click="Toggle_Click">
            </Button>
        </StackPanel>
        <Grid Grid.Row="1">
            <TextBox x:Name="txtDetail" AcceptsReturn="True" 
                        TextWrapping="Wrap" />
            <TextBox x:Name="txtBad" AcceptsReturn="True" 
                        TextWrapping="Wrap" Opacity="0.0"/>
            <TextBox x:Name="txtGood" AcceptsReturn="True" 
                        TextWrapping="Wrap" Opacity="0.0"/>

        </Grid>

在代码中:

private void Toggle_Click(object sender, RoutedEventArgs e)
    {
        Button btnSender = (Button)sender;
        string id = btnSender.Content.ToString();
        switch (id)
        {
            case "Good":
                {
                    txtDetail.Opacity = 0.0;
                    txtBad.Opacity = 0.0;
                    txtGood.Opacity = 1.0;
                }
                break;
            case "Bad":
                {
                    txtDetail.Opacity = 0.0;
                    txtGood.Opacity = 0.0;
                    txtBad.Opacity = 1.0;
                }
                break;
            case "Detail":
                {
                    txtBad.Opacity = 0.0;
                    txtGood.Opacity = 0.0;
                    txtDetail.Opacity = 1.0;
                }
                break;
            default:
                break;
        }
    }

问题是: 点击好的按钮后会显示txtGood文本框,可以看到键入的字符。  但是当点击坏或详细按钮时,文本被输入到txtGood中,并且没有显示仅显示的暗色空文本框。但它应该输入到相应的文本框中,并且应该对用户可见。怎么解决这个问题?

2 个答案:

答案 0 :(得分:3)

为什么不使用txtBad.Visibility = Visibility.Collapsed?这是隐藏屏幕上某些内容的更好方法。

答案 1 :(得分:2)

可见性有什么问题?你为什么使用Opacity?