2017-07-19 97 views
0

如何將值傳遞給該用戶控件(UWP)如何將值傳遞給該用戶控件(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 
    } 
} 

next code UserControl Name page(View_Control)

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

要求 如果單擊數據透視的SelectedIndex == 0發送一個參數,用戶控件(View_Control)1和刷新

+0

我認爲你的Pivot_SelectionChanged方法可能是錯誤的。 – lindexi

+0

第一個你應該給你的控制名稱,你應該改變數字屬性。第二個是你應該更新號碼更改。 – lindexi

回答

0

首先,你應該設置名稱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; 
    } 

歡迎和我交流,如果您有任何問題。

+0

將'Numbers'更改爲依賴項屬性 –

+0

@VijayNirmal我沒有看到他使用綁定 – lindexi

+0

使用依賴項屬性 –