2016-09-22 6 views
0

値を別のページリストに挿入しているページから挿入された数値を渡し、ListViewを新しい値で更新したいと考えています。ここでXamarinはEntry値をクラスから別のクラスListに渡す方法を記述していますか?

は私のAddCardPageのXAMLである:ここ

<Entry x:Name="CardNr" Text="" Completed="Entry_Completed" Keyboard="Numeric" /> 

はAddCardPage xaml.cs方法です:

public CardsPage() 
{ 
    InitializeComponent(); 
    base.Title = "Cards"; 
    List<Cards> cardsList = new List<Cards>() 
    { 
     new Cards { Number=1234567891234567, Name="dsffds M", ExpDate="17/08", Security=123 }, 
     new Cards { Number=9934567813535135, Name="Jason T", ExpDate="16/08", Security=132 }, 
     new Cards { Number=4468468484864567, Name="Carl S", ExpDate="17/01", Security=987 }, 
    }; 
    listView.ItemsSource = cardsList; 
     AddCard.GestureRecognizers.Add(new TapGestureRecognizer 
     { 
      Command = new Command(() => OnLabelClicked()), 
     });  
} 
    private void OnLabelClicked() 
    { 
     Navigation.PushAsync(new AddCardPage()); 
    } 
:私はすでにいくつかのデータを宣言していますのはここ

void Entry_Completed(object sender, EventArgs e) 
{ 
    var text = ((Entry)sender).Text; //cast sender to access the properties of the Entry 
    new Cards { Number = Convert.ToInt64(text) }; 
} 

は私のCardsPageクラスです

およびCardsPage xaml with ListView:

<ListView x:Name="listView"> 
    <ListView.Footer> 
    <StackLayout Padding="5,5" Orientation="Horizontal" > 
     <Label x:Name="AddCard" Text="Add new Card" FontSize="15" /> 
    </StackLayout> 
    </ListView.Footer> 
    <ListView.ItemTemplate> 
    <DataTemplate> 
     <ViewCell> 
      <Label Text="{Binding Number}" FontSize="15" /> 
     </ViewCell> 
    </DataTemplate> 
    </ListView.ItemTemplate> 
</ListView> 

挿入されたエントリ値をページから別のクラスに渡す方法ListViewのコンテンツをリストして更新しますか?

+0

私はあなたがここで何をやっているの全くわからないが、それはただ単に 'Number'にご' Entry'の 'Text'プロパティをバインドされていませんか? 'Number ="は別のクラスにあるので、バインドするにはどうすればいいですか? ' –

+0

@GeraldVersluisもし私がどこにもカードクラスを宣言しなかったら? – BinaryTie

+0

ああ、MVVMフレームワークなどを使用していますか?あるページから別のページにどのようにナビゲートしますか?あなたの質問をそのコードで更新してください。 –

答えて

0

値を取得したいページでは、値を受け入れ、呼び出しページからその値を渡すコンストラクタです。

例:

class Page1 
{ 
    private async void OnSomeEvent() 
    { 
    await Navigation.PushAsync(new Page2("xyz")); 
    } 
} 

class Page2 
{ 
    public Page2(string myValue) 
    { 
    } 
} 
関連する問題