繁体   English   中英

如何从另一个选项卡引用一个选项卡上的控件?

[英]How can I reference a control on a tab from another tab?

我有一个带有选项卡控件的WPF MainWindow。 第一个选项卡称为“人员”,并且具有绑定到“人员可观察的集合”的GridView。 我正在选择复选框,然后单击“下一步”按钮转到下一个选项卡,该选项卡具有绑定到SelectedPersons的人员网格几乎相同。 但是显然在第一个选项卡的下一个按钮上,我需要刷新第二个选项卡上的gridView。

像datagrid.items.refresh。

我只是不知道如何引用它。 像这样吗

public override void NextTab()
{
((DataGrid)this.MainTabs[1].Controls["SelectedPersonsGridView"]).items.refresh
}

我是WPF的新手,您可以看到我不知道我在做什么,但这基本上就是我想要做的。 我只是还不知道模式。

如果已将控件命名为SelectedPersonsGridView,则无需查找控件,只需使用其名称即可引用它。

XAML

<Window x:Class="WpfApplication1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <Grid>
        <TabControl>
            <TabItem Header="Tab1">
                <Grid Background="#FFE5E5E5">
                    <Button Content="Button" HorizontalAlignment="Left" VerticalAlignment="Top" Width="75" Margin="22,36,0,0" Click="Button_Click"/>
                </Grid>
            </TabItem>
            <TabItem Header="Tab2">
                <Grid Name="SelectedPersonsGridView">

                </Grid>
            </TabItem>
        </TabControl>
    </Grid>
</Window>

和后面的代码

using System.Windows;
using System.Windows.Media;

namespace WpfApplication1
{
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();

        }

        private void Button_Click(object sender, RoutedEventArgs e)
        {
            SelectedPersonsGridView.Background = Brushes.Red;
        }
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM