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

时间:2014-02-05 23:32:16

标签: c# wpf gridview tabs

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

与datagrid.items.refresh一样。

我只是不知道如何引用它。 像这样的东西?

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

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

1 个答案:

答案 0 :(得分:0)

如果您已将控件命名为Selected Persons GridView,那么您无需找到控件,只需使用它的名称即可引用它。

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