Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / Tools / System.Activities.Core.Presentation / System / Activities / Core / Presentation / CatchDesigner.xaml.cs / 1305376 / CatchDesigner.xaml.cs
//---------------------------------------------------------------- // Copyright (c) Microsoft Corporation. All rights reserved. //--------------------------------------------------------------- namespace System.Activities.Core.Presentation { using System; using System.Activities; using System.Activities.Presentation; using System.Activities.Presentation.View; using System.Activities.Presentation.Metadata; using System.Activities.Presentation.Model; using System.Activities.Statements; using System.ComponentModel; using System.Diagnostics; using System.Runtime; using System.Windows; using System.Windows.Input; ////// Interaction logic for CatchDesigner.xaml /// partial class CatchDesigner { string exceptionTypeShortName = null; string exceptionTypeFullName = null; public CatchDesigner() { InitializeComponent(); this.Loaded += (sender, e) => { Selection selection = this.Context.Items.GetValue(); if (selection != null) { ModelItem primarySelection = selection.PrimarySelection; this.ExpandState = TryCatchDesigner.IsDescendantOfCatch(this.ModelItem, primarySelection); if (this.ExpandState) { // If current focus is at another part, we need to focus this designer // to trigger selection changed, then this part will expand and another // expanded part will collapse. Then we focus on the activity it contains // if there is one. Keyboard.Focus((IInputElement)this.ModelItem.View); if (primarySelection.View != null && this.ModelItem != primarySelection) { Keyboard.Focus((IInputElement)primarySelection.View); } } } }; } internal static void RegisterMetadata(AttributeTableBuilder builder) { Type type = typeof(Catch<>); builder.AddCustomAttributes(type, new DesignerAttribute(typeof(CatchDesigner))); builder.AddCustomAttributes(type, type.GetProperty("Action"), BrowsableAttribute.No); builder.AddCustomAttributes(type, new ActivityDesignerOptionsAttribute { AllowDrillIn = false }); } public string ExceptionTypeShortName { get { if (this.exceptionTypeShortName == null) { this.exceptionTypeShortName = TypeNameHelper.GetDisplayName((Type)this.ModelItem.Properties["ExceptionType"].Value.GetCurrentValue(), false); } return this.exceptionTypeShortName; } } public string ExceptionTypeFullName { get { if (this.exceptionTypeFullName == null) { this.exceptionTypeFullName = TypeNameHelper.GetDisplayName((Type)this.ModelItem.Properties["ExceptionType"].Value.GetCurrentValue(), true); } return this.exceptionTypeFullName; } } protected override void OnMouseDown(MouseButtonEventArgs e) { if (e.LeftButton == MouseButtonState.Pressed && e.ClickCount == 2) { SwitchTryCatchDesignerHelper.MakeParentRootDesigner (this); e.Handled = true; } else if (e.LeftButton == MouseButtonState.Pressed) { Keyboard.Focus(this); e.Handled = true; } else if (e.RightButton == MouseButtonState.Pressed) { if (this.ShowExpanded) { Keyboard.Focus(this); } e.Handled = true; } } protected override void OnMouseUp(MouseButtonEventArgs e) { // avoid context menu upon right-click when it's collapsed if (!this.ShowExpanded && e.RightButton == MouseButtonState.Released) { e.Handled = true; } } protected override string GetAutomationIdMemberName() { return PropertyNames.ExceptionType; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- TraceHwndHost.cs
- ToolStripSplitStackLayout.cs
- XmlValueConverter.cs
- IncomingWebResponseContext.cs
- XamlTypeMapper.cs
- LogStore.cs
- BitStream.cs
- CmsUtils.cs
- IPCCacheManager.cs
- MetadataItemEmitter.cs
- Cursors.cs
- ServiceHttpHandlerFactory.cs
- MissingSatelliteAssemblyException.cs
- Empty.cs
- DomainConstraint.cs
- ToolStripItemCollection.cs
- Funcletizer.cs
- HttpChannelBindingToken.cs
- CharKeyFrameCollection.cs
- TrackingServices.cs
- OverlappedAsyncResult.cs
- TTSEngineProxy.cs
- AmbiguousMatchException.cs
- ValidationResult.cs
- ActivationServices.cs
- LogAppendAsyncResult.cs
- PropertyFilterAttribute.cs
- ItemContainerGenerator.cs
- CqlParser.cs
- ReaderWriterLock.cs
- X509Utils.cs
- VectorCollection.cs
- BamlReader.cs
- AmbientLight.cs
- EdmItemError.cs
- DesignerToolboxInfo.cs
- Error.cs
- DrawingImage.cs
- DesignerTextBoxAdapter.cs
- LayoutTable.cs
- Visitors.cs
- UpdateRecord.cs
- DefaultMemberAttribute.cs
- DelegateSerializationHolder.cs
- AttachedPropertyBrowsableWhenAttributePresentAttribute.cs
- ContextDataSourceView.cs
- GridView.cs
- DataRecord.cs
- IssuerInformation.cs
- WizardPanel.cs
- DataSourceSelectArguments.cs
- X509Certificate2Collection.cs
- ExtensibleClassFactory.cs
- SystemFonts.cs
- IndexedGlyphRun.cs
- LoginNameDesigner.cs
- ApplicationServiceManager.cs
- ProgressChangedEventArgs.cs
- BevelBitmapEffect.cs
- DetailsViewPagerRow.cs
- Component.cs
- ToolBarButton.cs
- BaseDataListComponentEditor.cs
- OptimisticConcurrencyException.cs
- SchemaImporter.cs
- ClientBuildManager.cs
- OutputWindow.cs
- WindowVisualStateTracker.cs
- FamilyTypefaceCollection.cs
- ImportDesigner.xaml.cs
- ObjectHandle.cs
- SigningCredentials.cs
- FontInfo.cs
- SqlBooleanMismatchVisitor.cs
- Msec.cs
- ErrorRuntimeConfig.cs
- DoubleSumAggregationOperator.cs
- AllMembershipCondition.cs
- UpdateInfo.cs
- AutomationPropertyInfo.cs
- DataGridItemAttachedStorage.cs
- PriorityChain.cs
- ValueChangedEventManager.cs
- SchemaImporterExtension.cs
- RadioButtonPopupAdapter.cs
- ZoneIdentityPermission.cs
- DesignTimeValidationFeature.cs
- ZoneMembershipCondition.cs
- URL.cs
- Size.cs
- SafeRightsManagementPubHandle.cs
- EmptyControlCollection.cs
- DictionarySectionHandler.cs
- configsystem.cs
- ValueQuery.cs
- DataGridViewCellErrorTextNeededEventArgs.cs
- AsyncOperation.cs
- OracleConnectionString.cs
- MouseGesture.cs
- X509DefaultServiceCertificateElement.cs