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
- TeredoHelper.cs
- BitmapCodecInfo.cs
- PointLightBase.cs
- DbMetaDataColumnNames.cs
- DesignOnlyAttribute.cs
- SessionIDManager.cs
- RouteTable.cs
- Utils.cs
- FunctionGenerator.cs
- QilName.cs
- ParameterRetriever.cs
- BitmapScalingModeValidation.cs
- ResolvedKeyFrameEntry.cs
- documentation.cs
- SqlGenericUtil.cs
- SinglePhaseEnlistment.cs
- ListViewItem.cs
- SecureUICommand.cs
- UpdateCommand.cs
- PersonalizationStateInfoCollection.cs
- SettingsPropertyCollection.cs
- SystemColors.cs
- TextSerializer.cs
- _ListenerAsyncResult.cs
- DynamicAttribute.cs
- HtmlTableCellCollection.cs
- DataServiceException.cs
- CompilerErrorCollection.cs
- MetadataItemCollectionFactory.cs
- DragStartedEventArgs.cs
- HtmlTable.cs
- ImportContext.cs
- DiagnosticsConfiguration.cs
- SettingsProperty.cs
- CompositeFontInfo.cs
- ReadOnlyNameValueCollection.cs
- assemblycache.cs
- _HeaderInfo.cs
- Utility.cs
- GridViewUpdateEventArgs.cs
- COM2TypeInfoProcessor.cs
- UInt16Storage.cs
- SelectedGridItemChangedEvent.cs
- TreeNodeCollectionEditorDialog.cs
- EmptyEnumerator.cs
- ParentUndoUnit.cs
- While.cs
- SmiContextFactory.cs
- SourceFilter.cs
- DrawingServices.cs
- ManipulationInertiaStartingEventArgs.cs
- Helpers.cs
- RawKeyboardInputReport.cs
- DrawingDrawingContext.cs
- PresentationTraceSources.cs
- DataGridTextBoxColumn.cs
- CryptoKeySecurity.cs
- TableRow.cs
- SymmetricCryptoHandle.cs
- EtwTrace.cs
- EntityDataSourceWizardForm.cs
- DataSourceHelper.cs
- Floater.cs
- ProcessHostMapPath.cs
- UnsafeNativeMethods.cs
- DesignTimeDataBinding.cs
- SocketManager.cs
- ServiceHttpHandlerFactory.cs
- OutputScopeManager.cs
- FontResourceCache.cs
- ConnectorEditor.cs
- SocketStream.cs
- WebPartDesigner.cs
- ObjectSecurity.cs
- DirectionalLight.cs
- CompiledIdentityConstraint.cs
- GroupBoxAutomationPeer.cs
- XmlEventCache.cs
- ReferencedAssembly.cs
- _SSPIWrapper.cs
- GlyphTypeface.cs
- Trace.cs
- IODescriptionAttribute.cs
- PagerSettings.cs
- Hex.cs
- ContextStack.cs
- FolderLevelBuildProviderCollection.cs
- PolyQuadraticBezierSegment.cs
- UndoEngine.cs
- TableLayoutCellPaintEventArgs.cs
- HotCommands.cs
- PixelFormatConverter.cs
- StringCollectionEditor.cs
- DataGridViewCellPaintingEventArgs.cs
- TypeLoadException.cs
- GetPageCompletedEventArgs.cs
- Enlistment.cs
- DataTableReader.cs
- MenuItemBinding.cs
- XmlRootAttribute.cs