現在のページを更新する方法を知りたい
heNavigationService.Navigate(new Uri(NavigationService.Source + "?Refresh=true", UriKind.Relative));
ListPicker で要素を選択した後。
現在のページを更新する方法を知りたい
heNavigationService.Navigate(new Uri(NavigationService.Source + "?Refresh=true", UriKind.Relative));
ListPicker で要素を選択した後。
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
autopostback を true に設定します。サンプル:
<asp:DropDownList OnSelectedIndexChanged="dropDown_indexChange" ID="DropDownList1" runat="server" AutoPostBack="True">