1
我有一個longlistselector,其模板需要在應用程序欄按鈕單擊上進行更改。此外,appbar模板也隨着按鈕點擊而改變。 來看cs文件裏面使用按鈕單擊從Viewmodel更改應用程序欄和長列表選擇器的模板
private void ApplicationBarIconButton_Click_1(object sender, EventArgs e)
{
DataTemplate dt;
dt = (DataTemplate)this.Resources["NewTemplateSelection"]; //new template to apply
list.ItemTemplate = dt;
this.ApplicationBar = this.Resources["selectmodeAppBar"] as ApplicationBar; //new
template for app bar
}
兩個tample都在裏面page.resource是很容易。 我想使用MVVM Light使用MVVM模式。但不能創建視圖模型 我是新來MVVM命令,
private void ApplicationBarIconButton_Click_1(object sender, EventArgs e)
{
var vm = (ViewModel)DataContext;
vm.SelectionCommand.Execute(null);
}
內部視圖模型
SelectionCommand = new RelayCommand(() =>
{
// DataTemplate dt;
// dt = (DataTemplate) email.Resources["ViewEmailTemplateSelection"];
// email.list.ItemTemplate = dt;
// email.ApplicationBar.IsVisible = false;
//email.ApplicationBar = email.Resources["selectmodeAppBar"] as ApplicationBar;
//}
});
是有辦法做到這一點,我試圖用繩子在綁定longlistselector的ItemTemplate中viewmodel 但我認爲它不允許在WP8中綁定staticresource。 請建議一些方法在Viewmodel中執行操作。