wpf 页面之间事件传参的例子
时间: 2024-02-05 08:39:24 浏览: 50
以下是一个简单的例子,展示了如何在 WPF 页面之间传递参数:
首先,创建一个 WPF 应用程序,并添加两个页面:Page1.xaml 和 Page2.xaml。
在 Page1.xaml 中,添加一个按钮和一个文本框,用于输入参数:
```xml
<Grid>
<TextBox x:Name="txtParam" Margin="10" />
<Button Content="传递参数" Click="Button_Click" />
</Grid>
```
在 Button_Click 事件处理程序中,获取文本框中的参数值,并使用 NavigationService 导航到 Page2.xaml 页面,并将参数作为 QueryString 传递:
```csharp
private void Button_Click(object sender, RoutedEventArgs e)
{
string param = txtParam.Text;
NavigationService.Navigate(new Uri("Page2.xaml?param=" + param, UriKind.Relative));
}
```
在 Page2.xaml.cs 中,重写 OnNavigatedTo 方法,获取传递的参数值:
```csharp
protected override void OnNavigatedTo(NavigationEventArgs e)
{
base.OnNavigatedTo(e);
if (NavigationContext.QueryString.TryGetValue("param", out string param))
{
// 使用参数值
}
}
```
这样,当用户在 Page1 中输入参数并单击按钮时,应用程序将导航到 Page2,并将参数传递给它。在 Page2 中,可以获取参数值并使用它。
阅读全文