首页 > 代码库 > uwp开发-UserControl传参给Page页面
uwp开发-UserControl传参给Page页面
usercontrol.xaml
<Grid> <Button x:Name="Button" Content="点我,我就把参数传给Page了" Click="Button_Click"></Button> </Grid>
usercontrol.xaml.cs
namespace UserControlParameterPageDemo { //自定义一个用于传递参数的委托类型,把待传参数放置委托的签名处即parameter internal delegate void MyEventHandler(object parameter); public sealed partial class MyUserControl1 : ContentDialog { //为usercontrol类增加一个传递参数的事件 internal event MyEventHandler OnNavigateParentReady; private string data = http://www.mamicode.com/"测试输出数据"; public MyUserControl1() { this.InitializeComponent(); } private void Button_Click(object sender, RoutedEventArgs e) { //usercontrol中的button被点击后,触发了这个传递参数的事件 OnNavigateParentReady(data); } } }
MainPage.xaml
namespace UserControlParameterPageDemo { /// <summary> /// 可用于自身或导航至 Frame 内部的空白页。 /// </summary> public sealed partial class MainPage : Page { public MainPage() { this.InitializeComponent(); } //MainPage的页面中,Button被点击后,调用了usercontrol //并且订阅了usercontrol的传参事件,事件处理方法则由用户自定义 private async void button_Click(object sender, RoutedEventArgs e) { MyUserControl1 userControl = new MyUserControl1(); userControl.OnNavigateParentReady += UserControl_OnNavigateParentReady1; await userControl.ShowAsync(); } //哒哒,getParameter就是我们得到的参数 private void UserControl_OnNavigateParentReady1(object parameter) { var getParameter = parameter; } } }
uwp开发-UserControl传参给Page页面
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。