0

現在のページを更新する方法を知りたい

heNavigationService.Navigate(new Uri(NavigationService.Source + "?Refresh=true", UriKind.Relative));

ListPicker で要素を選択した後。

4

2 に答える 2

1

Windows Phone 用の MVVM Light を使用していると思います。その場合、ページでイベントをキャッチしてから、ViewModel でコマンドをトリガーする必要があります。

例:

ページの分離コード

private void Listbox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
    ViewModelClass vm = this.DataContext as ViewMoedlClass;
    if (vm != null)
    {
        vm.RefreshCommand.Execute();
    }
}

ビューモデル

class ViewModelClass
{
    public ViewModelClass
    {
        this.RefreshCommand = new RelayCommand(() =>
        {
            NavigationService.Navigate(new Uri(NavigationService.Source + "?Refresh=true", UriKind.Relative));
        }   
    }

    public RelayCommand RefreshCommand { get; set;}

}

Xaml

<ListBox SelectionChanged="Listbox_SelectionChanged" />

理論的には、コード ビハインドでこれを行う必要はなく、Command を ViewModel から直接 SelectionChanged イベントにバインドしますが、これは Windows Phone では (直接) 可能ではありません。このルートに進みたい場合は、EventToCommand を参照してください。このページでは、手順について詳しく説明しています: http://www.geekchamp.com/articles/how-to-bind-a-windows-phone-control-event-to-a-command-using-mvvm-light

于 2013-04-08T20:55:14.423 に答える
-1

autopostback を true に設定します。サンプル:

  <asp:DropDownList  OnSelectedIndexChanged="dropDown_indexChange" ID="DropDownList1" runat="server" AutoPostBack="True">
于 2013-04-08T20:43:34.403 に答える