Click-Ereignis von der Vorlage eines Benutzerdefinierten Steuerelements in WPF

Habe ich eine benutzerdefinierte ContentControl in WPF und angewendet wurde folgende Vorlage:

<Style TargetType="{x:Type local:BdlUserControl}">
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="local:BdlUserControl">
                <Grid x:Name="ContentGrid">
                    <Grid.RowDefinitions>
                        <RowDefinition Height="22"/>
                        <RowDefinition Height="1*"/>
                    </Grid.RowDefinitions>

                    <Grid Grid.Row="0" Background="White">
                        <StackPanel HorizontalAlignment="Right">
                            <Button Content="Close" Width="50" Name="BtClose" Click="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=BtClose_Click}"/>
                        </StackPanel>
                    </Grid>

                    <Grid Grid.Row="1">
                        <ContentPresenter Content="{TemplateBinding Content}" Margin="{TemplateBinding Padding}"/>
                    </Grid>
                </Grid>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>

Das problem ist, dass die BtClose nicht, rufen Sie die Methode BtClose_Click deklariert im code-behind der custom control, wie unten gezeigt:

    public void BtClose_Click(object sender, RoutedEventArgs e)
    {
        Console.WriteLine("Test");
    }

Der Fehler ist sehr allgemein:

A first chance exception of type 'System.Windows.Markup.XamlParseException' occurred in PresentationFramework.dll

Irgendwelche Tipps, warum ist das passiert?

  • Sie kann nicht Binden an einen event-handler, die Sie benötigen, um einen Befehl zu erstellen und binden Sie die Tasten Command-Eigenschaft an, dass das Kommando.
Schreibe einen Kommentar