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
- WhitespaceRuleLookup.cs
- BuildProvider.cs
- Tag.cs
- ModelServiceImpl.cs
- Rect3D.cs
- SmtpException.cs
- ContextStaticAttribute.cs
- GenericEnumConverter.cs
- PrintPreviewGraphics.cs
- ControlTemplate.cs
- FormsAuthenticationEventArgs.cs
- AssemblyCache.cs
- AnnotationMap.cs
- CollectionViewSource.cs
- formatter.cs
- CompilerError.cs
- Drawing.cs
- SelectionWordBreaker.cs
- DesignOnlyAttribute.cs
- ItemsControl.cs
- EdmType.cs
- Stack.cs
- RSAPKCS1KeyExchangeFormatter.cs
- XslTransform.cs
- PersistenceProviderBehavior.cs
- DesignerSerializationOptionsAttribute.cs
- XmlProcessingInstruction.cs
- BitmapCodecInfo.cs
- Encoder.cs
- StateMachineHistory.cs
- SingleObjectCollection.cs
- HtmlFormWrapper.cs
- Transform3D.cs
- DateTimeValueSerializerContext.cs
- _NetworkingPerfCounters.cs
- GACIdentityPermission.cs
- StyleSheet.cs
- StylusPointCollection.cs
- UserMapPath.cs
- ProxySimple.cs
- SQLMoneyStorage.cs
- DataFormat.cs
- CollectionViewProxy.cs
- CustomActivityDesigner.cs
- ConnectionStringsExpressionBuilder.cs
- GridViewSortEventArgs.cs
- StaticContext.cs
- MetadataReference.cs
- WindowsHyperlink.cs
- TypeToken.cs
- PerformanceCounterManager.cs
- ResourceSetExpression.cs
- HandoffBehavior.cs
- EntityDataSource.cs
- ISAPIWorkerRequest.cs
- Pen.cs
- WebPartConnectionsCancelVerb.cs
- StrongNameKeyPair.cs
- MsmqInputChannelListener.cs
- ComPlusInstanceContextInitializer.cs
- EdmSchemaError.cs
- RootBrowserWindow.cs
- FileLogRecordEnumerator.cs
- QuadTree.cs
- Transform.cs
- _Events.cs
- MSHTMLHost.cs
- Pair.cs
- PipelineDeploymentState.cs
- ToolStripMenuItem.cs
- PlainXmlSerializer.cs
- CompositeKey.cs
- WebConfigurationFileMap.cs
- HMACRIPEMD160.cs
- Quad.cs
- ActiveDesignSurfaceEvent.cs
- SettingsSavedEventArgs.cs
- LocalValueEnumerator.cs
- ToolboxItemAttribute.cs
- MSAAWinEventWrap.cs
- EditorAttribute.cs
- SmtpSpecifiedPickupDirectoryElement.cs
- Main.cs
- PropertyPath.cs
- Int32.cs
- IApplicationTrustManager.cs
- XsdSchemaFileEditor.cs
- clipboard.cs
- FastEncoder.cs
- AuthenticatingEventArgs.cs
- LogicalTreeHelper.cs
- ToolStripLocationCancelEventArgs.cs
- SqlConnectionManager.cs
- ColumnWidthChangedEvent.cs
- DocumentPageHost.cs
- EventLogEntry.cs
- WindowsListViewGroup.cs
- ErrorRuntimeConfig.cs
- RSACryptoServiceProvider.cs
- PatternMatcher.cs