Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / Tools / System.Activities.Presentation / System / Activities / Presentation / ErrorActivity.cs / 1305376 / ErrorActivity.cs
//----------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
//---------------------------------------------------------------
namespace System.Activities.Presentation
{
using System;
using System.Activities;
using System.Activities.Presentation.View;
using System.ComponentModel;
using System.Runtime;
using System.Xaml;
using XamlDeferLoad = System.Windows.Markup.XamlDeferLoadAttribute;
[Designer(typeof(ErrorActivity.ErrorActivityView))]
internal class ErrorActivity : Activity
{
static readonly AttachableMemberIdentifier HasErrorActivitiesProperty =
new AttachableMemberIdentifier(typeof(ErrorActivity), "HasErrorActivities");
internal const string ErrorNodesProperty = "ErrorNodes";
[Browsable(false)]
[XamlDeferLoad(typeof(NodeListLoader), typeof(object))]
public XamlNodeList ErrorNodes { get; set; }
internal static bool GetHasErrorActivities(object target)
{
object result;
if (AttachablePropertyServices.TryGetProperty(target, HasErrorActivitiesProperty, out result))
{
return (bool)result;
}
return false;
}
internal static void SetHasErrorActivities(object target, bool value)
{
AttachablePropertyServices.SetProperty(target, HasErrorActivitiesProperty, value);
}
internal static void WriteNodeList(XamlWriter writer, XamlNodeList nodeList)
{
// We need to pass the ErrorNodes contents through as a NodeList, because XOW doesn't
// currently support unknown types, even inside a DeferLoad block.
// But if a NodeList is written to XOW as a Value, XOW will unpack, forcing us to re-buffer
// the nodes in our deferring loader. So we wrap the NodeList value inside a dummy StartObject.
writer.WriteStartObject(XamlLanguage.Object);
writer.WriteStartMember(XamlLanguage.Initialization);
writer.WriteValue(nodeList);
writer.WriteEndMember();
writer.WriteEndObject();
}
internal class NodeListLoader : XamlDeferringLoader
{
public override object Load(XamlReader xamlReader, IServiceProvider serviceProvider)
{
// Expects a nodestream produced by WriteNodesList
xamlReader.Read();
xamlReader.Read();
xamlReader.Read();
Fx.Assert(xamlReader.NodeType == XamlNodeType.Value, "Expected Value node");
return (XamlNodeList)xamlReader.Value;
}
public override XamlReader Save(object value, IServiceProvider serviceProvider)
{
return ((XamlNodeList)value).GetReader();
}
}
internal class ErrorActivityView : WorkflowViewElement
{
public ErrorActivityView()
{
WorkflowViewService.ShowErrorInViewElement(this, SR.ActivityLoadError, null);
}
}
}
[Designer(typeof(ErrorActivity.ErrorActivityView))]
internal class ErrorActivity : Activity
{
[Browsable(false)]
[XamlDeferLoad(typeof(ErrorActivity.NodeListLoader), typeof(object))]
public XamlNodeList ErrorNodes { get; set; }
}
}
// 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
- CapabilitiesAssignment.cs
- PointAnimationBase.cs
- TextBoxRenderer.cs
- ZipIOLocalFileDataDescriptor.cs
- SpanIndex.cs
- LineServicesRun.cs
- MenuScrollingVisibilityConverter.cs
- SqlFormatter.cs
- DataServiceQueryOfT.cs
- CancelRequestedQuery.cs
- LinkArea.cs
- SingleConverter.cs
- ThicknessAnimation.cs
- ImageInfo.cs
- FixedSOMLineRanges.cs
- RequestQueue.cs
- WorkerRequest.cs
- PreviewPrintController.cs
- HandlerBase.cs
- MultipleCopiesCollection.cs
- XmlDictionaryReader.cs
- TableCell.cs
- BackEase.cs
- XmlConvert.cs
- WindowsButton.cs
- EntityStoreSchemaGenerator.cs
- DbProviderSpecificTypePropertyAttribute.cs
- XmlAnyElementAttribute.cs
- RuntimeWrappedException.cs
- PhysicalAddress.cs
- UdpSocketReceiveManager.cs
- SerializableAttribute.cs
- ConfigurationManagerInternal.cs
- BlurBitmapEffect.cs
- SafeSecurityHelper.cs
- HttpRequestBase.cs
- DesignerPerfEventProvider.cs
- BigInt.cs
- NaturalLanguageHyphenator.cs
- EnglishPluralizationService.cs
- MethodResolver.cs
- BezierSegment.cs
- HtmlInputImage.cs
- TriState.cs
- ActivityStatusChangeEventArgs.cs
- TextBoxBase.cs
- ExportOptions.cs
- InstanceValue.cs
- InteropAutomationProvider.cs
- ConstNode.cs
- WinHttpWebProxyFinder.cs
- FactoryId.cs
- DashStyle.cs
- SyncOperationState.cs
- DataFormats.cs
- DriveNotFoundException.cs
- DataGridViewCellErrorTextNeededEventArgs.cs
- ExpandableObjectConverter.cs
- ReadOnlyCollectionBuilder.cs
- WebPartHelpVerb.cs
- QilFactory.cs
- NativeMethodsOther.cs
- BooleanSwitch.cs
- FixedSOMGroup.cs
- TemplateColumn.cs
- ProgressBarHighlightConverter.cs
- WebPartConnectVerb.cs
- X509PeerCertificateElement.cs
- TableStyle.cs
- SynchronizationScope.cs
- TimeSpanSecondsConverter.cs
- ComAdminWrapper.cs
- ResourcePermissionBase.cs
- LinkConverter.cs
- ZipIOLocalFileBlock.cs
- PasswordDeriveBytes.cs
- OneOfScalarConst.cs
- DataServiceBehavior.cs
- TogglePatternIdentifiers.cs
- AsymmetricSecurityBindingElement.cs
- ImplicitInputBrush.cs
- Rect3D.cs
- TitleStyle.cs
- QilInvokeEarlyBound.cs
- ToolStripTemplateNode.cs
- StorageAssociationSetMapping.cs
- FakeModelPropertyImpl.cs
- LowerCaseStringConverter.cs
- PrimitiveSchema.cs
- SafePointer.cs
- XmlDataSourceNodeDescriptor.cs
- controlskin.cs
- MediaTimeline.cs
- TextTreeObjectNode.cs
- PropertyReferenceSerializer.cs
- DelayedRegex.cs
- DataStorage.cs
- LoginCancelEventArgs.cs
- DesignerVerb.cs
- TextRangeBase.cs