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
- TextRangeEditTables.cs
- PopOutPanel.cs
- EnterpriseServicesHelper.cs
- BindingMemberInfo.cs
- PerformanceCounterPermissionEntryCollection.cs
- HierarchicalDataSourceControl.cs
- SqlInternalConnectionSmi.cs
- HttpPostedFile.cs
- PackagingUtilities.cs
- HMACMD5.cs
- SettingsAttributeDictionary.cs
- ResourceSetExpression.cs
- BitmapEffectInputConnector.cs
- UndoEngine.cs
- CompositeKey.cs
- VisualBasicImportReference.cs
- HttpCookiesSection.cs
- SafeLocalMemHandle.cs
- ISAPIApplicationHost.cs
- GlyphCache.cs
- CompositeFontFamily.cs
- TypeInitializationException.cs
- TemplateContentLoader.cs
- ColumnBinding.cs
- TextParagraphCache.cs
- DiagnosticsConfiguration.cs
- DataBindEngine.cs
- ResizingMessageFilter.cs
- FileFormatException.cs
- ObjectDataSourceDisposingEventArgs.cs
- FileSystemEventArgs.cs
- ActivityCodeGenerator.cs
- ContextProperty.cs
- Separator.cs
- SpellerHighlightLayer.cs
- uribuilder.cs
- TaskExtensions.cs
- cache.cs
- CompoundFileStreamReference.cs
- ZipIOBlockManager.cs
- Setter.cs
- IntegerFacetDescriptionElement.cs
- AnnotationResourceCollection.cs
- AssemblyCacheEntry.cs
- ObjectSecurity.cs
- TemplateManager.cs
- SystemIcons.cs
- TableLayoutPanelCellPosition.cs
- AuthenticationManager.cs
- TreeBuilderBamlTranslator.cs
- UnsafeNativeMethods.cs
- BinaryFormatterWriter.cs
- CodeBlockBuilder.cs
- Matrix3DValueSerializer.cs
- DbDataRecord.cs
- BridgeDataRecord.cs
- ContextMenuService.cs
- BuildProviderAppliesToAttribute.cs
- MutexSecurity.cs
- FileLogRecord.cs
- ListItemParagraph.cs
- UpDownBase.cs
- ViewPort3D.cs
- ResXBuildProvider.cs
- ExpressionConverter.cs
- InkCanvasSelectionAdorner.cs
- MdiWindowListItemConverter.cs
- XamlTreeBuilderBamlRecordWriter.cs
- XmlSerializerVersionAttribute.cs
- SerialStream.cs
- StrongNamePublicKeyBlob.cs
- Hashtable.cs
- UriExt.cs
- DependencyObjectProvider.cs
- QilPatternVisitor.cs
- AnimationTimeline.cs
- PageBreakRecord.cs
- OrderingInfo.cs
- Logging.cs
- XamlDesignerSerializationManager.cs
- ClientEventManager.cs
- OrthographicCamera.cs
- ILGen.cs
- ColumnHeaderConverter.cs
- InvalidAsynchronousStateException.cs
- Scene3D.cs
- SafeLibraryHandle.cs
- BackgroundFormatInfo.cs
- _AutoWebProxyScriptEngine.cs
- ClientScriptManagerWrapper.cs
- XmlAttributeProperties.cs
- VarRefManager.cs
- MouseButton.cs
- NameValueFileSectionHandler.cs
- XPathScanner.cs
- SizeLimitedCache.cs
- DataSysAttribute.cs
- MenuItemStyle.cs
- SqlProvider.cs
- GPPOINT.cs