protected override void OnLoad(EventArgs e) { base.OnLoad(e); if (DesignMode) { return; } CreateAndBindToSelectionService(); listView.SelectedIndexChanged += (s, ee) => { if (listView.SelectedItems.Count == 0) { NotifySelectionChanged(null); } else { var selectedItem = listView.SelectedItems[0]; NotifySelectionChanged( ObjectWrapper.Wrap(selectedItem.Tag)); } }; // Actions defaultAction = openCertificateAction; listView.MouseDoubleClick += (s, ev) => defaultAction.DoRun(); openCertificateAction.Run += (s, ev) => { X509Object x509 = null; var certificate = GetSelectedCertificate(); if (certificate != null) { x509 = X509Object.Create( certificate.X509, CurrentStoreName, CurrentStoreLocation); } else { var crl = GetSelectedCrl(); if (crl != null) { x509 = X509Object.Create( crl, CurrentStoreName, CurrentStoreLocation); } else { var ctl = GetSelectedCtl(); if (ctl != null) { x509 = X509Object.Create( ctl, CurrentStoreName, CurrentStoreLocation); } } } if (x509 != null) { Commands.RunVerb(Verbs.OpenCertificate, x509); } }; viewInformationAction.Run += (s, ev) => { var certificate = GetSelectedCertificate(); if (certificate != null) { certificate.ShowCertificateDialog(base.Handle); return; } var crl = GetSelectedCrl(); if (crl != null) { crl.ShowCrlDialog(base.Handle); return; } var ctl = GetSelectedCtl(); if (ctl != null) { ctl.ShowCtlDialog(base.Handle); } }; }