У меня есть сетка, где я пытаюсь скрыть строку, которая содержит текстовое поле с использованием C# в качестве моего кода. Моя конечная цель - это найти способ установить текст в текстовом поле, пока строка скрыта. Я могу столкнуться с проблемами, когда wpf не позволяет устанавливать текст в текстовое поле, если размер текстового поля меньше размера шрифта. Это то, что я до сих пор:XAML C# Hide Grid Row
XAML:
Grid>
<Grid.RowDefinitions>
<RowDefinition Height="100"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="100"/>
</Grid.RowDefinitions>
<Button x:Name="Button1"
Grid.Row="2"
Grid.Column="1"
Width="100"
Height="50"
Click="OnClick"
Content="Hide Middle Row"/>
<Grid x:Name="AddressBar" Grid.Row="1" Grid.Column="2">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock x:Name="Block1"
FontSize="16"
Grid.ColumnSpan="3"
HorizontalAlignment="Center"
TextAlignment="Center"/>
</Grid>
</Grid>
C#:
namespace rowCollapseTest
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void OnClick(object sender, RoutedEventArgs e)
{
AddressBar.RowDefinitions(1).Height = new GridLength(0);
AddressBar.Visibility = Visibility.Collapsed;
Block1.Text = "This is a test";
}
}
}
Из того, что я читал, это должно работать. Однако, я получаю сообщение об ошибке «RowDefinitions (1)». Ошибка читает: «Не вызываемый элемент« Grid.RowDefinitions »не может использоваться как метод». Есть идеи?
Заранее благодарен!
Ох, как я этого не поймал! К сожалению, я получаю ошибку за пределы, используя скобки. Я должен уметь написать это как: AddressBar.Height = new GridLength (0); Но в этом случае я получил ошибку: Не могу неявно преобразовать тип System.Window.GridLength в «double». – user5890660
@ user5890660 О, правильно, AddressBar вообще не имеет параметров RowDefinitions. Другая сетка имеет определения строк, AddressBar имеет только определения столбцов. –
@ user5890660 Высота не значение GridLength, просто двойное. Присвоение ему простого старого нуля - или еще лучше - присвойте Visibility.Collapsed свойству видимости. –