Frage wie man Ereignishandler hinzufügt, um in datatemplate im Betriebsmittelwörterbuch zu steuern


Ich habe ein Ressourcenwörterbuch:

<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>
...

Und ich möchte einen Event-Handler zum TabControl hinzufügen. MainWindowEvents ist eine Klasse, die in einer Datei ohne andere Klassen definiert ist:

Namespace wpfUI2
    Public Class MainWindowEvents

    End Class
End Namespace

Wenn ich einen Event-Handler wie hinzufügen möchte

    <TabControl
        x:Name="Tab1"
        IsSynchronizedWithCurrentItem="True"
        ItemsSource="{Binding}"
        ItemTemplate="{StaticResource ClosableTabItemTemplate}"
        Margin="4"
        SelectionChanged=""
    />

und versuche, zwischen dem "" zu klicken, um das Ereignis zu erstellen. Ich erhalte eine Fehlermeldung, dass die durch das x: Class-Attribut angegebene Klasse die erste in der Datei sein muss. Nun, es ist!. Seltsamerweise, wenn ich den Handler manuell erstelle:

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

Alles kompiliert ok, aber ich bekomme eine Laufzeitausnahme auf window.show

Was mache ich falsch?


15
2017-09-07 07:04


Ursprung


Antworten:


Ich habe es geschafft, dass es funktioniert:

Ist es möglich, Code hinter einem Ressourcenwörterbuch in WPF für Ereignisbehandlung festzulegen?

Ich sehe fehlende Sachen in Ihrem Code, vergleichen Sie mit der Probe dort.


8
2017-09-07 07:59