Позвольте мне начать с того, что мне уже известны все ответы на этот вопрос, в которых обсуждается пакет Microsoft.Xaml.Behaviors.Uwp.Managed.
Но мне действительно нужнознать, если это единственный способ выполнить код из модели представления при загрузке представления.Я имею в виду, что привязка команд кнопок к объекту ICommand очень проста.
В этом виде (без разметки шаблонов) это выглядит так:
<Page xmlns:vm="using:FIFA.ViewModels">
<Page.DataContext>
<vm:WeekInputViewModel/>
</Page.DataContext>
<Button Command="{Binding Save, Mode=OneWay}"/>
</Page>
ViewModel будет выглядеть так:
namespace FIFA.ViewModels {
class WeekInputViewModel : MainViewModelBase
{
private ICommand save_;
public ICommand Save{
get { return save_ = save_ ?? new DelegateCommand(SaveExec); }
}
private void SaveExec() {
// To be ran
}
}
И это MainViewModelBase:
namespace FIFA.ViewModels
{
public abstract class MainViewModelBase : INotifyPropertyChanged {
public event PropertyChangedEventHandler PropertyChanged;
protected virtual void OnPropertyChanged(string propertyName) {
PropertyChangedEventHandler handler = this.PropertyChanged;
if (handler != null) {
handler(this, new PropertyChangedEventArgs(propertyName));
}
}
}
}
Мое непосредственное предположение состояло в том, что если бы я хотел запустить код, когда страница (представление) была загружена или загружалась, он бы использовал это жеточный процесс.Но это не работает.В этом случае VS пожаловался бы, что ICommand, к которому я пытаюсь привязаться, не является методом.И позвольте мне прояснить, о чем я говорю:
<Page Loaded="{Binding //SOLUTION_HERE//}">
Существует ли более простой и простой способ запуска кода при загрузке / загрузке представления, чем использование Microsoft.Xaml.Behaviors.Uwp.Managed package? Мне просто не нравится беспорядок, который использование этого пакета добавит в мою разметку XAML.