Question

J'ai un UserControl, celui par défaut généré par VS, seul TextBlock est ajouté:

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

Maintenant, j'ai placé plusieurs instances de ce contrôle dans le WrapPanel du contrôle parent de manière dynamique à partir du code situé derrière. Je souhaite gérer tous les clics du bouton gauche de la souris à partir d'instances MyControl. J'ai le code suivant:

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

Dans le gestionnaire d'événements, je fais des actions, et cela fonctionne. Cependant, le message d'erreur suivant s'affiche lors de la modification du fichier XAML: La propriété connectable 'MouseLeftButtonDown' n'a pas été trouvée dans le type 'MyControl'. Comment résoudre ce problème?

Était-ce utile?

La solution

Ceci est juste un bogue avec le compilateur / concepteur XAML et peut être ignoré en toute sécurité. Cependant, vous pourrez peut-être "réparer" en spécifiant un type dont il est plus intimement conscient:

UIElement.MouseLeftButtonDown="WrapPanel1_OnMouseLeftButtonDown"
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top