Frage

Ich versuche, ein Ereignis innerhalb eines Itemscontrol zu handhaben. Ich habe die MouseUp und Mousedown Ereignisse einer Taste (btnRight unten) zugeordnet. Das Problem ist, dass, wenn ich auf die Schaltfläche klicken, wird das Ereignis niemals meinen Code-behind erreicht. Wie kann Ereignisse in Control Arbeit und was muss ich diese anschließen tun? Ich habe versucht, die Ereignisse auf den Knopf in Code-Behind während des OnApplyTemplate Ereignisses ohne Erfolg zuweisen.

Vielen Dank für Ihre Hilfe!

<ItemsControl.Template>
    <ControlTemplate>
        <Grid>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="36" />
                <ColumnDefinition />
                <ColumnDefinition Width="36" />
            </Grid.ColumnDefinitions>
            <Button x:Name="btnLeft" Grid.Column="0" Height="36">
                <Button.Template>
                    <ControlTemplate>
                        <Image>
                            <Image.Source>
                                <BitmapImage UriSource="Images\left.png" />
                            </Image.Source>
                        </Image>
                    </ControlTemplate>
                </Button.Template>
            </Button>
            <Border Grid.Column="1" BorderBrush="Black" BorderThickness="1" Background="Black" Padding="6">
                <ItemsPresenter Margin="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=MarginOffset}" />
            </Border>
            <Button x:Name="btnRight" Grid.Column="2" Height="36" MouseUp="btnRight_MouseUp" MouseDown="btnRight_MouseDown">
                <Button.Template>
                    <ControlTemplate>
                        <Image>
                            <Image.Source>
                                <BitmapImage UriSource="Images\right.png" />
                            </Image.Source>
                        </Image>
                    </ControlTemplate>
                </Button.Template>
            </Button>
        </Grid>
    </ControlTemplate>
</ItemsControl.Template>
War es hilfreich?

Lösung

Statt Schaltfläche Click-Ereignisse zu verwenden, erstellen Sie einen neuen Befehl, binden die Command-Eigenschaft des Button zum Command Ihr erstellt hat, und dann ein Command Ihre Benutzersteuerung fügen Sie den Befehl zu behandeln, wenn sie ausgeführt wird.

Siehe hier für weitere Informationen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top