繁体   English   中英

如何将值传递给UserControl(uwp)

[英]How to pass a value to the UserControl (uwp)

如何将值传递给UserControl(uwp)

<Pivot Title="Welcome" Name="View_P" SelectionChanged="Pivot_SelectionChanged" >
    <PivotItem Header="Car" Name="v_1">
        <local:View_Control />
            </PivotItem>

            <PivotItem Header="electronics">
        <local:View_Control/>
    </PivotItem>
</Pivot>

请参见PivotItem0和PivotItem0

<local:View_Control/>

下一个代码C#

private void Pivot_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
    if( View_P.SelectedIndex == 0)
    {
        View_Control.numbers=1
    }
    else if (View_P.SelectedIndex == 0)
    {
        View_Control.numbers = 2
    }
}

下一个代码UserControl名称页面(View_Control)

public  int numbers;
public View_Control()
{
    ServiceErkaanClient dv = new ServiceErkaanClient();
    this.InitializeComponent();
    MyGrid1.ItemsSource = dv.SP_All_SellAsync(numbers).Result;
}

必需如果单击Pivot SelectedIndex == 0,则会向UserControl(View_Control)1发送参数并刷新

首先,您应该将名称设置为View_Control,然后可以看到以下代码。

<Pivot Title="Welcome" Name="View_P" 
       SelectionChanged="Pivot_SelectionChanged" >
    <PivotItem Header="Car" Name="v_1">
         <local:View_Control Name="v1"/>
    </PivotItem>

    <PivotItem Header="electronics">
        <local:View_Control Name="v2"/>
    </PivotItem>
 </Pivot>

第二个是将字段编号更改为属性,您可以看到以下代码。

    private int _numbers;
    public int Numbers
    {
        set
        {
            _numbers=value;

            //when the numbers be changed

            ServiceErkaanClient dv = new ServiceErkaanClient();
            MyGrid1.ItemsSource = dv.SP_All_SellAsync(numbers).Result;
        }
        get
        {
            return _numbers;
        }
    }
    public View_Control()
    {
        ServiceErkaanClient dv = new ServiceErkaanClient();
        this.InitializeComponent();
        MyGrid1.ItemsSource = dv.SP_All_SellAsync(Numbers).Result;
    }

当您将数字设置为1时,它将调用SP_All_SellAsync。

如果要使用依赖项属性,可以尝试以下代码

  public static readonly DependencyProperty NumbersProperty = DependencyProperty.Register(
        "Numbers", typeof(int), typeof(View_Control), new PropertyMetadata(default(int), (s, e) =>
        {
            View_Control view = (View_Control) s;
            int n = (int) e.NewValue;

            ServiceErkaanClient dv = new ServiceErkaanClient();
            view.MyGrid1.ItemsSource = dv.SP_All_SellAsync(n).Result;
        }));

    public int Numbers
    {
        get { return (int) GetValue(NumbersProperty); }
        set { SetValue(NumbersProperty, value); }
    }

    public View_Control()
    {
        ServiceErkaanClient dv = new ServiceErkaanClient();
        this.InitializeComponent();
        MyGrid1.ItemsSource = dv.SP_All_SellAsync(Numbers).Result;
    }

如有任何疑问,欢迎与我联系。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM