如何将值传递给 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 并刷新

首先,你应该将name设置为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;
    }

欢迎与我交流,有什么问题欢迎交流