私はユーザーコントロールを持っています。私はこの状況を何度か繰り返しましたが、 "New()
コンストラクタ"を使っていつも修正することができました。でも、コントロールがロードされた場合には、ロードイベントが発生する必要があるので、私が間違っていることはまだあります。!ここでusercontrols loadedイベントが発生しない理由
は、いくつかのコードは次のとおりです。
<Window x:Class="MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:my="clr-namespace:OUTPUT___VideoContent"
Title="OUTPUT - VideoContent" Height="350" Width="525" Icon="/OUTPUT%20-%20VideoContent;component/Images/VideoContent.png">
<Grid x:Name="LayoutRoot">
<Grid x:Name="VideoGrid">
<my:ucVideoPresenter x:Name="VideoPresenter1"/>
<TextBlock x:Name="txtInfo" Visibility="Collapsed" />
</Grid>
</Grid>
</Window>
とユーザーコントロールで、ロード・イベントは、任意の成功なしWPFやcodebehingに宣言されています!
これまで問題が何かを理解しましたか?私は現在、同じ問題に直面しています。 – pikausp
いいえ、私はしませんでした。私はLayoutUpdatedイベントで自分のブーイングを使ってコントロールが最初に描画されたかどうかを確認しました。その場合、私はLoadイベントで行うようなものを初期化します。 – Nasenbaer
その解決策は健康ではありません。この理由は、通常、コンポーネントの初期化中にスローされる例外であり、コントロールがロードされる前に初期化を効果的に停止します。 このような例外は、初期化をtry/catchに入れない限り処理されません。また、例外の後で初期化されるすべてのコントローラが決して完全にロードされないという副作用があることを除けば、デバッガでは気付かないでしょう。したがって、それらのためにロードされたイベントは決して発射されません。例外の初期化コードをすべて確認する必要があります(コードをステップ実行するなど)。 – Henrik