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
- CompilerCollection.cs
- WinEventWrap.cs
- PersonalizableAttribute.cs
- WeakHashtable.cs
- Pair.cs
- PrintDialogDesigner.cs
- SemanticAnalyzer.cs
- RequestUriProcessor.cs
- TypeInitializationException.cs
- IisTraceListener.cs
- PrimitiveRenderer.cs
- EventlogProvider.cs
- LassoHelper.cs
- SynchronizationContext.cs
- VirtualDirectoryMappingCollection.cs
- X509Certificate2Collection.cs
- InternalBufferOverflowException.cs
- ContentPropertyAttribute.cs
- TableLayoutRowStyleCollection.cs
- ListViewItemMouseHoverEvent.cs
- StretchValidation.cs
- CharConverter.cs
- DataGridColumn.cs
- NetTcpSecurityElement.cs
- TransportElement.cs
- ParseNumbers.cs
- LinkArea.cs
- TextPointer.cs
- ServiceDescriptionReflector.cs
- DeobfuscatingStream.cs
- WindowsStatic.cs
- TextViewSelectionProcessor.cs
- QueryRewriter.cs
- SqlTypesSchemaImporter.cs
- ResolveNextArgumentWorkItem.cs
- SafeMarshalContext.cs
- XmlNullResolver.cs
- RuntimeHandles.cs
- PropertyChange.cs
- Point3DAnimation.cs
- SqlParameterizer.cs
- PageAsyncTask.cs
- CharUnicodeInfo.cs
- CFStream.cs
- DeviceFilterEditorDialog.cs
- InvalidCardException.cs
- SystemWebSectionGroup.cs
- ProtocolsConfiguration.cs
- GridViewRowPresenterBase.cs
- MethodBuilder.cs
- HtmlWindowCollection.cs
- SessionSymmetricTransportSecurityProtocolFactory.cs
- ConfigurationException.cs
- HttpRuntimeSection.cs
- AppAction.cs
- EnumUnknown.cs
- DataTableNameHandler.cs
- WinCategoryAttribute.cs
- BaseComponentEditor.cs
- Stacktrace.cs
- EventProxy.cs
- StrokeIntersection.cs
- OpenTypeLayoutCache.cs
- RegexCaptureCollection.cs
- DataGridRow.cs
- SoapAttributeOverrides.cs
- ErrorFormatterPage.cs
- Int32AnimationBase.cs
- XmlIncludeAttribute.cs
- InternalCache.cs
- FormsAuthenticationUserCollection.cs
- FontStyle.cs
- ParallelRangeManager.cs
- CodeExpressionStatement.cs
- ExtensionSimplifierMarkupObject.cs
- ConditionedDesigner.cs
- CompiledAction.cs
- ScriptManager.cs
- ConstraintStruct.cs
- MsmqReceiveParameters.cs
- _OverlappedAsyncResult.cs
- SignedInfo.cs
- ToolStripProfessionalLowResolutionRenderer.cs
- FieldMetadata.cs
- Journal.cs
- PointAnimation.cs
- GrammarBuilder.cs
- TextRunTypographyProperties.cs
- GeometryCombineModeValidation.cs
- WebException.cs
- BrowserCapabilitiesCompiler.cs
- GeometryConverter.cs
- FixedSOMGroup.cs
- ImmComposition.cs
- SoundPlayerAction.cs
- DirectoryInfo.cs
- CapabilitiesRule.cs
- DataControlButton.cs
- WebCategoryAttribute.cs
- TableLayoutPanel.cs