WPF Handhabung RoutedEvent von Usercontrol
-
06-07-2019 - |
Frage
Ich habe ein Usercontrol, default eine von VS erzeugt, nur Textblock wird hinzugefügt:
<UserControl x:Class="MyNameSpace.Presentation.MyControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Name="myControl">
<Grid>
<TextBlock x:Name="SomeTextBox" Text="SomeText"></TextBlock>
</Grid>
Nun habe ich mehrere Instanzen dieser Kontrolle in WrapPanel übergeordneter Steuerung dynamisch aus dem Code hinter. Ich möchte alle Linke Maustaste klickt von MyControl Instanzen behandeln. Ich habe folgenden Code:
<UserControl x:Class="Minimo.Presentation.FirstParent"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:Presentation="clr-namespace:Minimo.Presentation"
Height="300" Width="300">
<WrapPanel Name="wrapPanelOfMyControls" MyControl.MouseLeftButtonDown="WrapPanel1_OnMouseLeftButtonDown">
</WrapPanel>
In dem Event-Handler mache ich eine Aktion, und es funktioniert. Allerdings bekomme ich folgende Fehlermeldung, wenn die XAML-Datei bearbeiten: Die Andock-Eigenschaft ‚Mouseleftbuttondown‘ wurde nicht in der Art gefunden ‚MyControl‘. Wie man dieses Problem beheben?
Lösung
Dies ist nur ein Problem mit dem XAML-Compiler / Designer und kann problemlos ignoriert werden. Allerdings können Sie in der Lage sein, es zu „reparieren“, indem eine Art Angabe es inniger bewusst ist:
UIElement.MouseLeftButtonDown="WrapPanel1_OnMouseLeftButtonDown"