0

2ページあります。 i) HomePage --ユーザーが選択した都市を表示するためのボタンが 1 つ含まれています(デフォルト デリー) ii) ListPage --リスト ボックスを含む(すべての都市がここに表示されます)

したがって、ユーザーが HomePage のボタンをクリックすると、ListPage に移動して都市を選択します。ユーザーがリストから任意の都市をクリックすると、その ListPage を閉じる必要があり、選択した都市はすぐに HomePage のボタンのコンテンツとして更新されます。

上記のタスクを実行する方法を教えてください。

4

4 に答える 4

0

Windows Phone ToolkitのListPicker コントロールを使用するようにワークフローを変更することをお勧めします。このコントロールは、電話の設定アプリに表示されるスタイルと一致します。ListPicker を使用すると、ユーザーは選択した項目をタップして、利用可能なオプションのリストを提供する別のページに移動できます。ここに例があります

<StackPanel>
    <TextBlock Text="City"/>
    <toolkit:ListPicker ExpansionMode="FullScreenOnly"
                        FullModeHeader="CITY"
                        ItemsSource="{Binding Cities}"
                        SelectedItem="{Binding SelectedCity}">
        <toolkit:ListPicker.FullModeItemTemplate>
            <DataTemplate>
                <TextBlock Margin="0,20" Text="{Binding Name}" TextWrapping="Wrap"/>
            </DataTemplate>
        </toolkit:ListPicker.FullModeItemTemplate>
    </toolkit:ListPicker>
</StackPanel>

あなたの DataContext は次のようになります

public class ViewModel : INotifyPropertyChanged
{
    public ViewModel()
    {
       Cities = new List<City> { new City("Denver"), new City("New York") };
    }

    public City SelectedCity 
    {
        { get return _city; }
        { _city = value; OnpropertyChanged("SelectedCity"); }
    }
    public IEnumerable<City> Cities { get; private set; }
}
于 2013-07-03T05:50:20.563 に答える
0

これは非常に簡単です。あなたがしなければならないことは、NavigationService.Navigate() を使用してから、選択した都市を HomePage ページの uri と共に追加し、HomePage ページで、NavigationContext.QueryString.TryGetValue() を使用して選択した都市を取得し、値を割り当てることです。ボタン。

たとえば、

ListPage.cs で、

NavigationService.Navigate(new Uri("/HomePage.xaml?selectedCity=" + "Coimbatore", UriKind.Relative));

HomePage.cs で、

string selectedCity = "";
NavigationContext.QueryString.TryGetValue("selectedCity", out selectedCity);
button.Content = selectedCity;

ありがとう

于 2013-07-03T08:14:48.967 に答える