【问题标题】:XAML - DataTemplate : unexplainable exception thrown (Unhandled exception)XAML - DataTemplate:抛出无法解释的异常(未处理的异常)
【发布时间】:2014-04-18 08:01:31
【问题描述】:

图片跟随2个数据模板:

    <DataTemplate x:Key="templateGridDeleteBtn">
        <Button   Tag="{Binding stamnr}" Click="ButtonGridDelete_Click"   ToolTipService.ToolTip="Verwijderen aanvraag mutatie">
            <StackPanel  VerticalAlignment="Center" Orientation="Horizontal">
                <Image Source="../Images/DeleteRed.png" Width="20" Height="20" />

            </StackPanel>
        </Button>
    </DataTemplate>
    <DataTemplate x:Key="templateProcessRequest">
        <Button Tag="{Binding stamnr}" Click="ButtonProcess_Click" ToolTipService.ToolTip="Verwerken zonder de Wasserij te contacteren">
            <StackPanel  VerticalAlignment="Center" Orientation="Horizontal">
                <Image Source="../Images/Process.png" Width="20" Height="20" />

            </StackPanel>
        </Button>
    </DataTemplate>

Click-event 添加到我的templateProcessRequest 时,我有一个Unhandled exception。然而它们背后的代码完全一样(见下文)

Private Sub ButtonGridDelete_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs)
End Sub

Private Sub ButtonProcess_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs)
End Sub

如果我从第二个模板中删除 Click-Event,则不会引发异常。这种奇怪行为的原因是什么?

【问题讨论】:

    标签: wpf vb.net xaml datatemplate


    【解决方案1】:

    发现问题。它与 XAML 本身无关。由于inheritance 引发了异常。 此控件充当多个其他文档的父级。如果参数的 Click 事件中显示的方法不存在于“子”控件中,则会引发未处理的异常。

    例子:

    MainControl A
          => Has method ButtonProcess_Click
    
                       SubControl B inherits MainControl A
                       => Has method ButtonProcess_Click
    
    
                       SubControl C inherits MainControl A
                       => Doesn't Have method ButtonProcess_Click
    

    SubControl C 会抛出异常,但 A 或 B 不会。

    【讨论】:

      猜你喜欢
      • 2011-10-10
      • 2012-08-05
      • 1970-01-01
      • 1970-01-01
      • 2013-07-24
      • 2013-06-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多