WPF从子窗口更新父控件状态

时间:2019-01-24 12:50:15

标签: c# wpf

我在主窗口中有一个状态栏,并且在主窗口中以用户控件作为子控件使用。我只想更新主窗口内状态栏中的TextBox。

 <Grid x:Name="grControls">             

 </Grid>    
 <StatusBar>
    <StatusBarItem Grid.Column="5">
        <TextBlock Name="NumberOfItemTextBox" >No:</TextBlock>
    </StatusBarItem>
 </StatusBar>

// CODE BEHIND I load Child windows into "grContorls"
        grControls.Children.Clear();
        var userCont = new PAMHeaderUC
        {
            ParentControl = this
        };
        grControls.Children.Add(userCont);

我只想更新子用户控件中的NumberOfItemTextBox。

1 个答案:

答案 0 :(得分:0)

这些是解决方案背后的代码。如果您使用的是MVVM,它将更加干净。 从后面的用户控件代码中,您可以获取窗口,然后将其转换为从Window派生的主窗口类,并可以访问textBox

Window parentWindow = Window.GetWindow(userControlRefernce);
var yourInstanceOfWindow = (CastToYourNameOfClass)parentWindow;
yourInstanceOfWindow.NumberOfItemTextBox.Text = "someString";