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
- SecurityCriticalDataForSet.cs
- ProtocolsConfiguration.cs
- PopOutPanel.cs
- HTTPNotFoundHandler.cs
- DocumentSequence.cs
- initElementDictionary.cs
- PassportAuthenticationEventArgs.cs
- DirectoryLocalQuery.cs
- HMACSHA512.cs
- CardSpacePolicyElement.cs
- DeviceContext2.cs
- ServiceAuthorizationManager.cs
- DataQuery.cs
- InfiniteTimeSpanConverter.cs
- SqlGenericUtil.cs
- RequestTimeoutManager.cs
- XamlSerializerUtil.cs
- BitStream.cs
- InsufficientMemoryException.cs
- XmlSchemaAny.cs
- CustomAttributeBuilder.cs
- SignatureDescription.cs
- OneOfTypeConst.cs
- NumberFunctions.cs
- EntityDataSourceColumn.cs
- DependencyPropertyConverter.cs
- PositiveTimeSpanValidatorAttribute.cs
- _NestedMultipleAsyncResult.cs
- SQLCharsStorage.cs
- ConfigurationElementProperty.cs
- ConfigurationManagerHelperFactory.cs
- DataObjectEventArgs.cs
- GroupBoxRenderer.cs
- LayoutManager.cs
- Stroke.cs
- UdpDuplexChannel.cs
- HTTPNotFoundHandler.cs
- TreeNodeClickEventArgs.cs
- FieldToken.cs
- Error.cs
- RMPublishingDialog.cs
- EnumerationRangeValidationUtil.cs
- PeerUnsafeNativeCryptMethods.cs
- MimeObjectFactory.cs
- ResXBuildProvider.cs
- SqlTypeSystemProvider.cs
- Axis.cs
- DataGridViewControlCollection.cs
- FileLogRecordHeader.cs
- ScrollEvent.cs
- PngBitmapEncoder.cs
- Transform3DGroup.cs
- SocketException.cs
- SqlBuffer.cs
- SpStreamWrapper.cs
- ObjectPersistData.cs
- EventItfInfo.cs
- XPathParser.cs
- ResourceContainer.cs
- AuthenticationSection.cs
- TextParagraphCache.cs
- ControlIdConverter.cs
- CodeDirectoryCompiler.cs
- TextElementCollectionHelper.cs
- Registry.cs
- ACL.cs
- Help.cs
- CompilationUtil.cs
- TransformGroup.cs
- ExternalException.cs
- DataGridColumnCollection.cs
- DataPagerFieldCollection.cs
- NullableIntMinMaxAggregationOperator.cs
- CompModSwitches.cs
- RectangleGeometry.cs
- MemberDescriptor.cs
- RuleSetCollection.cs
- WebPartDisplayModeCollection.cs
- SafeNativeMethods.cs
- OracleConnectionString.cs
- basenumberconverter.cs
- SQLMoneyStorage.cs
- FixedSOMLineRanges.cs
- UriSectionData.cs
- _DigestClient.cs
- DependentList.cs
- SelectionManager.cs
- BitmapEffectInput.cs
- MailMessageEventArgs.cs
- DotNetATv1WindowsLogEntryDeserializer.cs
- Tile.cs
- InfoCardClaimCollection.cs
- CaseExpr.cs
- FileDialogCustomPlace.cs
- SqlDataSourceCommandEventArgs.cs
- Tablet.cs
- StreamUpgradeAcceptor.cs
- Freezable.cs
- AuthenticationSection.cs
- TextTreeInsertUndoUnit.cs