我在主窗口中有一个状态栏,并且在主窗口中以用户控件作为子控件使用。我只想更新主窗口内状态栏中的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。
答案 0 :(得分:0)
这些是解决方案背后的代码。如果您使用的是MVVM,它将更加干净。 从后面的用户控件代码中,您可以获取窗口,然后将其转换为从Window派生的主窗口类,并可以访问textBox
Window parentWindow = Window.GetWindow(userControlRefernce);
var yourInstanceOfWindow = (CastToYourNameOfClass)parentWindow;
yourInstanceOfWindow.NumberOfItemTextBox.Text = "someString";