我有一个资源字典:
<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="wpfUI2.MainWindowEvents">
<DataTemplate
x:Key="WorkspacesTemplate">
<TabControl
x:Name="Tab1"
IsSynchronizedWithCurrentItem="True"
ItemsSource="{Binding}"
ItemTemplate="{StaticResource ClosableTabItemTemplate}"
Margin="4"/>
</DataTemplate>
...
我想添加一个事件处理程序到TabControl。MainWindowEvents是一个在文件中定义的类,没有其他类:
Namespace wpfUI2
Public Class MainWindowEvents
End Class
End Namespace
当我添加事件处理程序时,比如
<TabControl
x:Name="Tab1"
IsSynchronizedWithCurrentItem="True"
ItemsSource="{Binding}"
ItemTemplate="{StaticResource ClosableTabItemTemplate}"
Margin="4"
SelectionChanged=""
/>
并尝试在"之间单击以创建事件,我得到一个错误,说x: class属性指定的类必须是文件中的第一个。是啊!奇怪的是,当我手动创建处理程序时:
Namespace wpfUI2
Public Class MainWindowEvents
Public Sub Tab1_SelectionChanged(sender As System.Object, e As System.Windows.Controls.SelectionChangedEventArgs)
End Sub
End Class
End Namespace
一切编译正常,但我得到一个运行时异常窗口。show
我做错了什么?
我能让它工作多亏了这个:
是否可以在WPF中设置用于事件处理的资源字典后面的代码?
我看到缺失的东西在你的代码,比较样本那里。