我的列标题中有一个文本框和一个按钮。文本框应该被折叠,直到我按下按钮。问题是我无法以编程方式访问文本框。
我试过tbTest.Visibility = Visibility.Visible;
但它显示以下错误:
“当前上下文中不存在名称‘tbTest’”
我也需要tbTest.Text
,它不起作用。
这是我的代码:
<DataGridTextColumn.HeaderStyle>
<Style TargetType="DataGridColumnHeader">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="DataGridColumnHeader">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="auto"></ColumnDefinition>
<ColumnDefinition Width="*"></ColumnDefinition>
<ColumnDefinition Width="auto"></ColumnDefinition>
<ColumnDefinition Width="auto"></ColumnDefinition>
</Grid.ColumnDefinitions>
<ContentPresenter />
<Label Grid.Column="0" Padding="5 0" Content="Gruppe" VerticalAlignment="Center" Cursor="Hand" Foreground="White"/>
<TextBox x:Name="tbTest" Grid.Column="1" Width="150" Visibility="Collapsed" TextChanged="tbTest_TextChanged"></TextBox>
<Button Grid.Column="2" x:Name="btnFilterGroup" Style="{StaticResource MyButton}" Width="16" Height="16" VerticalAlignment="Center" HorizontalAlignment="Right" Margin="0 0 10 0" Click="btnFilterGroup_Click">
<Button.Background>
<ImageBrush ImageSource="Resources/filter.png"/>
</Button.Background>
</Button>
<Thumb x:Name="PART_RightHeaderGripper" Grid.Column="3" HorizontalAlignment="Right" Width="2" BorderThickness="0.6"
BorderBrush="{Binding VerticalGridLinesBrush, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type DataGrid}}}" Cursor="SizeWE"/>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</DataGridTextColumn.HeaderStyle>