Bardzo prosty problem, ale robię żadnych postępów, więc pomyślałem, że powinienem zapytać ...App OnStartup nigdy nie jest wywoływana
Piszę mały prototyp WPF gdzie umieściłem bagażnik się logiki gdzie wierzę należy: W (nadpisanej) metodzie App.OnStartup.
Problem polega na tym, że metoda nigdy nie jest wywoływana i nie mam pojęcia dlaczego!
Przeglądałem niektóre i znalazłem kogoś, kto powiedział, że znacznik <Application>
w App.xaml musi określić klasę wykonawczą (App
) w atrybucie "x:Class
". Zmieniłem go z x:Class="Application"
na x:Class="App"
, ale to nie miało znaczenia.
Czego mi tu brakuje?
EDIT: Oto kod ...
XAML:
<Application
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="App"
ShutdownMode="OnMainWindowClose"
StartupUri="MainWindow.xaml">
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Recources\Brushes\Brushes.xaml"/>
<ResourceDictionary Source="Recources\Templates\Templates.xaml"/>
<ResourceDictionary Source="Recources\Styles\GVSStyles.xaml"/>
<ResourceDictionary Source="Recources\Styles\TimePicker.xaml"/>
<ResourceDictionary Source="Recources\Icons\GVSIcons.xaml"/>
<ResourceDictionary Source="Recources\Icons\BottleIcon.xaml"/>
<ResourceDictionary Source="Recources\Styles\BusyAnimationStyle.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
</Application>
kod za ...
protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
// lower default framerate from 60 to 20 to save CPU ...
Timeline.DesiredFrameRateProperty.OverrideMetadata(
typeof(Timeline),
new FrameworkPropertyMetadata { DefaultValue = 20 });
hookUpViews();
connectToServer();
}
Co powiesz na zamieszczenie kodu? –
Nie publikuj go w komentarzach. Edytuj pytanie. –
Tak, zdałem sobie sprawę, że komentarze będą nieczytelne. To jest teraz pytanie ... –