EventToCommand не может передать параметр команды в событии загрузки
При присоединении к событию Load страницы или пользовательского элемента управления EventToCommand успешно вызывает обработчик в ViewModel, но не передает CommandParameter. Однако тот же XAML привязан к другому событию, например, к нажатию кнопки, обработчик команды получает данные с привязкой к данным в качестве своего параметра. Xaml:
<i:EventTrigger EventName="Loaded" SourceObject="{Binding ElementName=Control}">
<Command:EventToCommand x:Name="etcLoad"
Command="{Binding LoadCommand}"
CommandParameter="{Binding Target, ElementName=Control}" />
</i:EventTrigger>
Цель — это строка DP в представлении.
Код ВМ:
internal void Load(string p_Param)
{
this.Initialise();
}
public RelayCommand<string> LoadCommand { get; private set; }
и Команда назначается так:
this.LoadCommand = new RelayCommand<string>(this.Load);
Я почти уверен, что проблема заключается в том, что привязка выполняется позже, чем назначение целевому DP или что-то подобное. Я заинтересован в поиске решения для этого как можно скорее или каким-либо другим способом, которым я мог бы получить строку из представления и в модель представления, где строка назначается из переопределения OnNavigateTo. Цель состоит в том, чтобы обеспечить выбор вкладки на основе свойства запроса, предоставленного через URI, например «/Views/DisplayTabDetails?Tab=Tab1» или аналогичный.