uwp开发-UserControl传参给Page页面

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 = "测试输出数据";

        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页面的主要内容,如果未能解决你的问题,请参考以下文章

UWP UserControl 不会自适应大小

QT5百度地图开发学习——JavaScript调用qt函数并传参给qt

WebGL -- 传参给着色器

[UWP]了解模板化控件(5.2):UserControl vs. TemplatedControl

$emit 子传参给父

微信小程序-wxml标签绑定data值传参给js方法(事件传参)