У меня простой UserControl в WPF. Я хочу вызвать несколько свойств при двойном щелчке по UserControl (фамилия, адрес электронной почты и ...). Я использую два экземпляра My UserControl в главном окне. Я пробовал, но он не отвечает на мой Doubleclick. Есть идеи?
usercontrol:
<Grid>
<Button Content="{Binding FirstName}" ></Button>
</Grid>
код пользовательского управления за
public string FirstName
{
get { return (string)GetValue(FirstNameProperty); }
set { SetValue(FirstNameProperty, value); }
}
public static readonly DependencyProperty FirstNameProperty =
DependencyProperty.Register("FirstName", typeof(string), typeof(UserControl1), new PropertyMetadata(null));
public string LastName
{
get { return (string)GetValue(LastNameProperty); }
set { SetValue(LastNameProperty, value); }
}
public static readonly DependencyProperty LastNameProperty =
DependencyProperty.Register("LastName", typeof(string), typeof(UserControl1), new PropertyMetadata(null));
public string Email
{
get { return (string)GetValue(EmailProperty); }
set { SetValue(EmailProperty, value); }
}
public static readonly DependencyProperty EmailProperty =
DependencyProperty.Register("Email", typeof(string), typeof(UserControl1), new PropertyMetadata(null));
и код главного окна за
public MainWindow()
{
InitializeComponent();
UserControl1 uc = new UserControl1()
{
FirstName = "adam",
LastName = "west",
Email = "adamEmail@mail.com"
};
uc.MouseDoubleClick += new MouseButtonEventHandler(showFamily);
UserControl1 uc2 = new UserControl1()
{
FirstName = "james",
LastName = "anderson",
Email = "jamesEmail@mail.com"
};
uc2.MouseDoubleClick += new MouseButtonEventHandler(showDetails);
MainStackPanel.Children.Add(uc);
MainStackPanel.Children.Add(uc2);
}
private void showDetails(object sender, MouseButtonEventArgs e)
{
var uc = (UserControl)sender;
if (uc.Content is Grid item)
{
// get item.Family
// get item.Email
// ...
}
}