我有一个像这样的XAML代码:
<Grid x:Name="LayoutRoot">
<TabControl Margin="0,53,0,0">
<TabItem Header="First">
<Grid Background="#FFE5E5E5">
<TextBlock />
</Grid>
</TabItem>
<TabItem Header="Second" >
<Grid Background="#FFE5E5E5">
<TextBlock />
</Grid>
</TabItem>
<TabItem Header="Third">
<Grid Background="#FFE5E5E5">
<TextBlock />
</Grid>
</TabItem>
</TabControl>
<Button Content="Button" HorizontalAlignment="Right" Margin="0,8,174,0" VerticalAlignment="Top" Width="75"/>
<TextBox Height="20.96" Margin="30,9,267,0" TextWrapping="Wrap" Text="TextBox" VerticalAlignment="Top"/>
</Grid>
在每个tabitem中使用C#都有一个文本块 如果我在文本框中键入内容,然后单击按钮,现在选中TabItem为“第三” 请帮我现在如何更改Selected TabItem中的文本块? 是的,标签外的文本框和按钮。
答案 0 :(得分:0)
这是:
<Grid x:Name="LayoutRoot">
<TabControl Margin="0,53,0,0" Name="tabControl">
<TabItem Header="First">
<Grid Background="#FFE5E5E5">
<TextBlock />
</Grid>
</TabItem>
<TabItem Header="Second" >
<Grid Background="#FFE5E5E5">
<TextBlock />
</Grid>
</TabItem>
<TabItem Header="Third">
<Grid Background="#FFE5E5E5">
<TextBlock />
</Grid>
</TabItem>
</TabControl>
<Button Content="Button" HorizontalAlignment="Right" Margin="0,8,174,0" VerticalAlignment="Top" Width="75" Click="Button_Click"/>
<TextBox Height="20.96" Margin="30,9,267,0" TextWrapping="Wrap" Text="TextBox" VerticalAlignment="Top" Name="textBox"/>
</Grid>
支持代码:
private void Button_Click(object sender, RoutedEventArgs e)
{
var match = tabControl.Items.OfType<TabItem>().Where(tab => tab.Header.ToString() == textBox.Text).FirstOrDefault();
if (match != null) match.IsSelected = true;
}
希望我能帮到你
<强>更新强> 看起来我第一次不理解你。这是您的案例的正确支持代码:
private void Button_Click(object sender, RoutedEventArgs e)
{
tabControl.Items.OfType<TabItem>().Where(tab => tab.IsSelected == true).First().Header = textBox.Text;
}