C# WPF 通过委托实现多窗口间的传值的方法

2020-01-05 09:32:30于海丽
C#,WP,窗口,传值

第二个窗口Window1代码:

Window1.xaml


<Grid>
  <TextBox Name="Window1TextBox" HorizontalAlignment="Left" Height="23" Margin="84,73,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Width="120"/>
  <Button Content="传值" HorizontalAlignment="Left" Margin="84,125,0,0" VerticalAlignment="Top" Width="120" Click="ButtonBase_OnClick"/>
</Grid>

Window1.xaml.cs


public delegate void GetTextHandler(string value1, TextBox value2); //声明委托
public GetTextHandler getTextHandler;                //委托对象

private void ButtonBase_OnClick(object sender, RoutedEventArgs e)
  {
    getTextHandler(Window1TextBox.Text, Window1TextBox);
  }

效果图:

C#,WP,窗口,传值

实现效果当运行程序后,点击打开新窗口按钮后,会打开Window1窗口,在Window1窗口的Textbox中输入内容,点击传值,你所输入的内容就会传到主窗口,通过委托的事件将主窗口中的Textbox控件的内容更改为你传过去的值。效果如下:

C#,WP,窗口,传值