Я хочу иметь три текстовых поля (для ввода текста будет отображаться только одно из них). Текстовое поле для ввода текста выбирается кнопками. Я устанавливаю свойство непрозрачности для текстового поля 0.0, чтобы скрыть, чтобы установить непрозрачность для показа 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 textboxотображается и может видеть напечатанные символы.Но когда нажата кнопка «плохо» или «подробно», тексты вводятся в txtGood, и не отображается пустое текстовое поле только тусклого цвета.Но это должно быть введено в соответствующие текстовые поля, и это должно быть видно пользователю.Как можно исправить эту проблему?