簡體   English   中英

wpf c#更改選定選項卡中的元素

[英]wpf c# change an element in selected tab

我有一個這樣的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中的文本塊? 是的,文本框和按鈕位於選項卡的外部。

這里是:

<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;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM