2012-02-22 7 views
0

3つのテキストボックス(1つだけがテキストを入力するように表示されます)を入力したいテキストボックスはボタンで選択します。 テキストボックス0.0の不透明プロパティを設定して、 1.0を表示します。 XAMLページでWP7でテキストボックスを非表示にする方法

<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に入力され、表示されていない鈍色の空のテキストボックスは表示されません。しかし、それはそれぞれのテキストボックスに入力する必要があり、それはユーザーに見えるようにする必要があります。どのようにしてこの問題を解決できますか?

答えて

3

なぜtxtBad.Visibility = Visibility.Collapsedを使用しませんか?これは、画面上のいくつかのコンテンツを隠すためのより良い方法です。

2

可視性に問題がありますか?なぜあなたはOpacityを使用していますか?