Ho un UserControl con il seguente trigger di evento:EventTrigger non sparare per l'evento Loaded di UserControl
<UserControl x:Class="TestApp.Views.MyUserControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
>
<i:Interaction.Triggers>
<i:EventTrigger EventName="Loaded">
<i:InvokeCommandAction Command="{Binding OnLoadedCommand}" />
</i:EventTrigger>
</i:Interaction.Triggers>
E 'stato impostato tramite il costruttore di UserControl (si prega di ignorare il ServiceLocator ..si è solo un rapido prototipo):
public MyUserControl()
{
InitializeComponent();
DataContext = ServiceLocator.Current.GetInstance<DirectorySearchViewModel>();
}
A mio avviso-modello che ho il seguente:
public ICommand OnLoadedCommand { get; private set; }
public MyUserControl()
{
OnLoadedCommand = new DelegateCommand(OnLoaded);
}
public void OnLoaded()
{
}
OnLoaded non viene mai chiamato. Se cambio EventName per dire ..MouseDown, funziona ma non funziona per Loaded
Abbastanza sicuro che sia uno sbaglio stupido (giuro che l'ho già fatto un milione di volte in passato) ma posso sembra che lo stiano facendo ora
WAG qui, ma provare a impostare il vostro DC prima di chiamare InitializeComponent nel costruttore. – Will
BINGO. ARGH! Quante volte continuo a fare lo stesso stupido errore! Si prega di rispondere come risposta in modo che possa darti credito :) – blue18hutthutt