为什么不触发usercontrols加载的事件

Nas*_*aer 4 wpf events load code-behind event-handling

我有一个用户控件.我有时会再遇到这种情况,但可以通过使用" New()contructor" 来解决它.但是我仍然想知道我做错什么因为如果加载了控件就必须触发load事件!

这是一些代码:

<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>
Run Code Online (Sandbox Code Playgroud)

在usercontrol中,load事件在WPF上声明或代码发送没有任何成功! 用户控制wpf

Usercontrol代码隐藏

Set*_*eth 11

这是因为'Loaded'事件处理程序中抛出异常.由于混合模式程序集或"用户处理"的其他异常,并且WPF框架正在捕获它(调试器未知),可能会发生异常.这会导致调试器在Loaded方法中设置断点时不会中断.

要确保您可以确切地看到正在发生的错误:

  1. 在VS2010中转到Debug | 例外.
  2. 勾选"Thrown"异常无线电框,了解可能适用于您的情况的例外情况.
  3. 重新运行应用程序,VS2010应该打破事件处理程序中抛出的异常.
  4. 根据现在已知的异常进行调试.


Col*_*inE 3

您的 UserControl 构造函数是否仍然进行调用InitializeComponent(),如果没有这个,它将不会构建其视觉效果,并且Loaded事件可能不会触发。