Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / wpf / src / WinFormsIntegration / System / Windows / Integration / HostUtils.cs / 1 / HostUtils.cs
using System; using System.Globalization; using System.IO; using System.Diagnostics; using System.Windows.Media; using System.Windows.Media.Imaging; using SD = System.Drawing; using SDI = System.Drawing.Imaging; using SW = System.Windows; using SWM = System.Windows.Media; using SWC = System.Windows.Controls; using MS.Win32; namespace System.Windows.Forms.Integration { internal static class HostUtils { private const string DISPLAY = "DISPLAY"; private const int defaultPixelsPerInch = 96; private static TraceSwitch imeModeTraceSwitch; ////// IME context/mode trace switch. /// public static TraceSwitch ImeMode { get { if (imeModeTraceSwitch == null) { imeModeTraceSwitch = new TraceSwitch("ImeMode", "ImeMode Trace Switch"); } return imeModeTraceSwitch; } } // WinForms uses zero OR Int32.MaxValue to request content size. // This method normalizes zeros to Int32.MaxValue. public static SD.Size ConvertZeroToUnbounded(SD.Size size) { if (size.Width == 0) { size.Width = int.MaxValue; } if (size.Height == 0) { size.Height = int.MaxValue; } return size; } // Dock will request preferred size with one dimension set to 1. public static SD.Size ConvertZeroOrOneToUnbounded(SD.Size size) { if (size.Width == 0 || size.Width == 1) { size.Width = int.MaxValue; } if (size.Height == 0 || size.Height == 1) { size.Height = int.MaxValue; } return size; } public static SD.Size ConvertUnboundedToZero(SD.Size size) { if (size.Width == int.MaxValue) { size.Width = 0; } if (size.Height == int.MaxValue) { size.Height = 0; } return size; } public static SD.Size UnionSizes(SD.Size size1, SD.Size size2) { return new SD.Size( Math.Max(size1.Width, size2.Width), Math.Max(size1.Height, size2.Height)); } public static SD.Size IntersectSizes(SD.Size size1, SD.Size size2) { return new SD.Size( Math.Min(size1.Width, size2.Width), Math.Min(size1.Height, size2.Height)); } internal static Visual GetRootVisual(Visual descendant) { DependencyObject current = descendant; Visual root = descendant; while (current != null) { current = VisualTreeHelper.GetParent(current); Visual visual = current as Visual; if (visual != null) { root = visual; } } return root; } internal static Point TransformToRootPoint(Visual element, Point pointElement) { Visual rootVisual = GetRootVisual(element); return TransformToParentPoint(element, rootVisual, pointElement); } internal static Point TransformToParentPoint(Visual element, Visual ancestor, Point pointElement) { GeneralTransform transform = element.TransformToAncestor(ancestor); Point outPoint = new Point(); outPoint = transform.Transform(pointElement); FrameworkElement rootElement = ancestor as FrameworkElement; if (rootElement != null) { if (rootElement.LayoutTransform != null) { outPoint = rootElement.LayoutTransform.Transform(outPoint); } if (rootElement.RenderTransform != null) { outPoint = rootElement.RenderTransform.Transform(outPoint); } } return outPoint; } ////// Returns true if the Brush is an opaque solid color. This is useful since /// these colors are easily translated to WinForms. /// /// ///internal static bool BrushIsSolidOpaque(SWM.Brush c) { SWM.SolidColorBrush solid = c as SWM.SolidColorBrush; return solid != null && solid.Color.A == 255; } internal static void SetBackgroundImage(WinFormsAdapter adapter, Control child, SD.Bitmap image) { if (child != null && (child.BackgroundImage == null || child.BackgroundImage == adapter.BackgroundImage)) { child.BackgroundImage = image; } adapter.BackgroundImage = image; } internal static SD.Bitmap GetBitmapForWindowsFormsHost(WindowsFormsHost host, Brush brush) { if (brush == Brushes.Transparent) { return GetBitmapForTransparentWindowsFormsHost(host); } else { return GetBitmapForOpaqueWindowsFormsHost(host, brush); } } internal static SD.Bitmap GetBitmapOfControl(Control control, ElementHost host) { SD.Bitmap bitmap = new SD.Bitmap(control.ClientRectangle.Width, control.ClientRectangle.Height); using (SD.Graphics g = SD.Graphics.FromImage(bitmap)) { using (PaintEventArgs args = new PaintEventArgs(g, control.ClientRectangle)) { host.InvokePaintBackgroundAndPaint(control, args); } } return bitmap; } internal static SD.Bitmap GetCoveredPortionOfBitmap(Control parentControl, ElementHost childElementHost) { using (SD.Bitmap parentBitmap = GetBitmapOfControl(parentControl, childElementHost)) { SD.Bitmap returnBitmap = new SD.Bitmap(childElementHost.ClientRectangle.Width, childElementHost.ClientRectangle.Height); using (SD.Graphics g = SD.Graphics.FromImage(returnBitmap)) { g.DrawImage(parentBitmap, -childElementHost.Left, -childElementHost.Top); } return returnBitmap; } } private static FrameworkElement GetFrameworkElementAncestor(DependencyObject descendant) { FrameworkElement ancestor = null; DependencyObject current = descendant; while (current != null) { FrameworkElement currentElement = current as FrameworkElement; if (currentElement != null) { ancestor = currentElement; } current = VisualTreeHelper.GetParent(current); } return ancestor; } internal static SD.Bitmap GetBitmapForTransparentWindowsFormsHost(WindowsFormsHost host) { WinFormsAdapter adapter = WindowsFormsHostPropertyMap.GetAdapter(host); if (adapter == null) { return null; } //We need to find our highest-level ancestor that's a FrameworkElement: //if it's not a FrameworkElement, we don't know how big it is, and can't //properly deal with it. FrameworkElement frameworkElementAncestor = GetFrameworkElementAncestor(host); if (frameworkElementAncestor != null) { RenderTargetBitmap bmp = GetBitmapForFrameworkElement(frameworkElementAncestor); Point hostPoint = new Point(0, 0); Point parentPoint = new Point(0, 0); if (HostUtils.IsRotated(host)) { //Image is upside down. Need the lower right corner of host and the //lower right corner of the parent. hostPoint = HostUtils.TransformToParentPoint(host, frameworkElementAncestor, new Point(host.ActualWidth, host.ActualHeight)); parentPoint = HostUtils.TransformToParentPoint(frameworkElementAncestor, frameworkElementAncestor, new Point(frameworkElementAncestor.ActualWidth, frameworkElementAncestor.ActualHeight)); } else { //Need upper left corner of host and the upper left corner of the parent. hostPoint = HostUtils.TransformToParentPoint(host, frameworkElementAncestor, new Point(0, 0)); parentPoint = HostUtils.TransformToParentPoint(frameworkElementAncestor, frameworkElementAncestor, new Point(0, 0)); } hostPoint.Offset(-parentPoint.X, -parentPoint.Y); return GetBitmapFromRenderTargetBitmap(adapter, bmp, hostPoint); } return null; } internal static RenderTargetBitmap GetBitmapForFrameworkElement(FrameworkElement element) { RenderTargetBitmap bmp = GetRenderTargetBitmapForVisual( (int)Math.Ceiling(element.ActualWidth), (int)Math.Ceiling(element.ActualHeight), element); return bmp; } internal static SD.Bitmap GetBitmapFromRenderTargetBitmap(Control control, RenderTargetBitmap bmp, Point offset) { if (bmp == null) { return new SD.Bitmap(1, 1); } using (MemoryStream memoryStream = new System.IO.MemoryStream()) { SD.Image newImage = null; BmpBitmapEncoder encoder = new BmpBitmapEncoder(); encoder.Frames.Add(BitmapFrame.Create(bmp)); encoder.Save(memoryStream); memoryStream.Seek(0, System.IO.SeekOrigin.Begin); using (newImage = SD.Image.FromStream(memoryStream)) using (SD.Graphics graphicsTemplate = control.CreateGraphics()) { int width = control.Width <= 0 ? 1 : control.Width; int height = control.Width <= 0 ? 1 : control.Height; SD.Bitmap chunk = new System.Drawing.Bitmap(width, height, graphicsTemplate); graphicsTemplate.Dispose(); using (SD.Graphics graphics = SD.Graphics.FromImage(chunk)) { graphics.DrawImage(newImage, (float)-offset.X, (float)-offset.Y); } return chunk; } } } internal static RenderTargetBitmap GetRenderTargetBitmapForVisual(int width, int height, Visual visualToRender) { if (width < 1 || height < 1) { return null; } RenderTargetBitmap bmp = new RenderTargetBitmap( width, height, HostUtils.PixelsPerInch(Orientation.Horizontal), HostUtils.PixelsPerInch(Orientation.Vertical), PixelFormats.Pbgra32); bmp.Render(visualToRender); return bmp; } internal static SD.Bitmap GetBitmapForOpaqueWindowsFormsHost(WindowsFormsHost host, Brush brush) { WinFormsAdapter adapter = WindowsFormsHostPropertyMap.GetAdapter(host); if (adapter == null) { return null; } DrawingVisual drawingVisual = new DrawingVisual(); DrawingContext drawingContext = drawingVisual.RenderOpen(); drawingContext.DrawRectangle(brush, null, new Rect(0, 0, adapter.Width, adapter.Height)); drawingContext.Close(); RenderTargetBitmap bmp = GetRenderTargetBitmapForVisual(adapter.Width, adapter.Height, drawingVisual); return GetBitmapFromRenderTargetBitmap(adapter, bmp, new Point(0, 0)); } internal static Vector GetScale(Visual visual) { bool skewed; return GetScale(visual, out skewed); } internal static Vector GetScale(Visual visual, out bool skewed) { // Determine whether WindowsFormsHost scaling has changed Point pOrigin = HostUtils.TransformToRootPoint(visual, new Point(0.0, 0.0)); Point pX = HostUtils.TransformToRootPoint(visual, new Point(1.0, 0.0)); Point pY = HostUtils.TransformToRootPoint(visual, new Point(0.0, 1.0)); Vector xComponent = pX - pOrigin; Vector yComponent = pY - pOrigin; skewed = (!IsZero(xComponent.Y) || !IsZero(yComponent.X)); return new Vector(xComponent.Length, yComponent.Length); } internal static bool IsRotated(Visual visual) { // Determine whether WindowsFormsHost is rotated Point pOrigin = HostUtils.TransformToRootPoint(visual, new Point(0.0, 0.0)); Point pX = HostUtils.TransformToRootPoint(visual, new Point(1.0, 0.0)); Point pY = HostUtils.TransformToRootPoint(visual, new Point(0.0, 1.0)); Vector xComponent = pX - pOrigin; Vector yComponent = pY - pOrigin; return xComponent.X < 0 || yComponent.Y < 0; } internal static int PixelsPerInch(Orientation orientation) { int nIndex = (orientation == Orientation.Horizontal ? NativeMethods.LOGPIXELSX : NativeMethods.LOGPIXELSY); using (DCSafeHandle screenDC = UnsafeNativeMethods.CreateDC(DISPLAY)) { return screenDC.IsInvalid ? defaultPixelsPerInch : UnsafeNativeMethods.GetDeviceCaps(screenDC, nIndex); } } //Doubles may return != 0 for a small delta: if it's really close to zero, just //call it 0. internal static bool IsZero(double value) { //See DoubleUtil.IsZero const double DBL_EPSILON = 2.2204460492503131e-16; //smallest double such that 1.0+DBL_EPSILON != 1.0 return Math.Abs(value) < 10d * DBL_EPSILON; } internal static int LOWORD(IntPtr ptr) { return (int)((long)ptr & 0xffff); } /// /// Determines whether a FontWeight should be considered bold (everything on /// the dark side of Medium, including Medium) /// /// ///public static bool FontWeightIsBold(FontWeight fontWeight) { return fontWeight >= SW.FontWeights.Medium; } /// /// Returns the first ancestor element in the visual tree that has Cursor set, or /// ForceCursor if we're mapping it /// /// /// ///public static FrameworkElement GetCursorSource(DependencyObject currentObject, bool forceCursorMapped) { while (currentObject != null) { FrameworkElement currentElement = currentObject as FrameworkElement; if (currentElement != null && ( currentElement.Cursor != null || (currentElement.ForceCursor && forceCursorMapped) ) ) { return currentElement; } currentObject = VisualTreeHelper.GetParent(currentObject); } return null; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. using System; using System.Globalization; using System.IO; using System.Diagnostics; using System.Windows.Media; using System.Windows.Media.Imaging; using SD = System.Drawing; using SDI = System.Drawing.Imaging; using SW = System.Windows; using SWM = System.Windows.Media; using SWC = System.Windows.Controls; using MS.Win32; namespace System.Windows.Forms.Integration { internal static class HostUtils { private const string DISPLAY = "DISPLAY"; private const int defaultPixelsPerInch = 96; private static TraceSwitch imeModeTraceSwitch; /// /// IME context/mode trace switch. /// public static TraceSwitch ImeMode { get { if (imeModeTraceSwitch == null) { imeModeTraceSwitch = new TraceSwitch("ImeMode", "ImeMode Trace Switch"); } return imeModeTraceSwitch; } } // WinForms uses zero OR Int32.MaxValue to request content size. // This method normalizes zeros to Int32.MaxValue. public static SD.Size ConvertZeroToUnbounded(SD.Size size) { if (size.Width == 0) { size.Width = int.MaxValue; } if (size.Height == 0) { size.Height = int.MaxValue; } return size; } // Dock will request preferred size with one dimension set to 1. public static SD.Size ConvertZeroOrOneToUnbounded(SD.Size size) { if (size.Width == 0 || size.Width == 1) { size.Width = int.MaxValue; } if (size.Height == 0 || size.Height == 1) { size.Height = int.MaxValue; } return size; } public static SD.Size ConvertUnboundedToZero(SD.Size size) { if (size.Width == int.MaxValue) { size.Width = 0; } if (size.Height == int.MaxValue) { size.Height = 0; } return size; } public static SD.Size UnionSizes(SD.Size size1, SD.Size size2) { return new SD.Size( Math.Max(size1.Width, size2.Width), Math.Max(size1.Height, size2.Height)); } public static SD.Size IntersectSizes(SD.Size size1, SD.Size size2) { return new SD.Size( Math.Min(size1.Width, size2.Width), Math.Min(size1.Height, size2.Height)); } internal static Visual GetRootVisual(Visual descendant) { DependencyObject current = descendant; Visual root = descendant; while (current != null) { current = VisualTreeHelper.GetParent(current); Visual visual = current as Visual; if (visual != null) { root = visual; } } return root; } internal static Point TransformToRootPoint(Visual element, Point pointElement) { Visual rootVisual = GetRootVisual(element); return TransformToParentPoint(element, rootVisual, pointElement); } internal static Point TransformToParentPoint(Visual element, Visual ancestor, Point pointElement) { GeneralTransform transform = element.TransformToAncestor(ancestor); Point outPoint = new Point(); outPoint = transform.Transform(pointElement); FrameworkElement rootElement = ancestor as FrameworkElement; if (rootElement != null) { if (rootElement.LayoutTransform != null) { outPoint = rootElement.LayoutTransform.Transform(outPoint); } if (rootElement.RenderTransform != null) { outPoint = rootElement.RenderTransform.Transform(outPoint); } } return outPoint; } ////// Returns true if the Brush is an opaque solid color. This is useful since /// these colors are easily translated to WinForms. /// /// ///internal static bool BrushIsSolidOpaque(SWM.Brush c) { SWM.SolidColorBrush solid = c as SWM.SolidColorBrush; return solid != null && solid.Color.A == 255; } internal static void SetBackgroundImage(WinFormsAdapter adapter, Control child, SD.Bitmap image) { if (child != null && (child.BackgroundImage == null || child.BackgroundImage == adapter.BackgroundImage)) { child.BackgroundImage = image; } adapter.BackgroundImage = image; } internal static SD.Bitmap GetBitmapForWindowsFormsHost(WindowsFormsHost host, Brush brush) { if (brush == Brushes.Transparent) { return GetBitmapForTransparentWindowsFormsHost(host); } else { return GetBitmapForOpaqueWindowsFormsHost(host, brush); } } internal static SD.Bitmap GetBitmapOfControl(Control control, ElementHost host) { SD.Bitmap bitmap = new SD.Bitmap(control.ClientRectangle.Width, control.ClientRectangle.Height); using (SD.Graphics g = SD.Graphics.FromImage(bitmap)) { using (PaintEventArgs args = new PaintEventArgs(g, control.ClientRectangle)) { host.InvokePaintBackgroundAndPaint(control, args); } } return bitmap; } internal static SD.Bitmap GetCoveredPortionOfBitmap(Control parentControl, ElementHost childElementHost) { using (SD.Bitmap parentBitmap = GetBitmapOfControl(parentControl, childElementHost)) { SD.Bitmap returnBitmap = new SD.Bitmap(childElementHost.ClientRectangle.Width, childElementHost.ClientRectangle.Height); using (SD.Graphics g = SD.Graphics.FromImage(returnBitmap)) { g.DrawImage(parentBitmap, -childElementHost.Left, -childElementHost.Top); } return returnBitmap; } } private static FrameworkElement GetFrameworkElementAncestor(DependencyObject descendant) { FrameworkElement ancestor = null; DependencyObject current = descendant; while (current != null) { FrameworkElement currentElement = current as FrameworkElement; if (currentElement != null) { ancestor = currentElement; } current = VisualTreeHelper.GetParent(current); } return ancestor; } internal static SD.Bitmap GetBitmapForTransparentWindowsFormsHost(WindowsFormsHost host) { WinFormsAdapter adapter = WindowsFormsHostPropertyMap.GetAdapter(host); if (adapter == null) { return null; } //We need to find our highest-level ancestor that's a FrameworkElement: //if it's not a FrameworkElement, we don't know how big it is, and can't //properly deal with it. FrameworkElement frameworkElementAncestor = GetFrameworkElementAncestor(host); if (frameworkElementAncestor != null) { RenderTargetBitmap bmp = GetBitmapForFrameworkElement(frameworkElementAncestor); Point hostPoint = new Point(0, 0); Point parentPoint = new Point(0, 0); if (HostUtils.IsRotated(host)) { //Image is upside down. Need the lower right corner of host and the //lower right corner of the parent. hostPoint = HostUtils.TransformToParentPoint(host, frameworkElementAncestor, new Point(host.ActualWidth, host.ActualHeight)); parentPoint = HostUtils.TransformToParentPoint(frameworkElementAncestor, frameworkElementAncestor, new Point(frameworkElementAncestor.ActualWidth, frameworkElementAncestor.ActualHeight)); } else { //Need upper left corner of host and the upper left corner of the parent. hostPoint = HostUtils.TransformToParentPoint(host, frameworkElementAncestor, new Point(0, 0)); parentPoint = HostUtils.TransformToParentPoint(frameworkElementAncestor, frameworkElementAncestor, new Point(0, 0)); } hostPoint.Offset(-parentPoint.X, -parentPoint.Y); return GetBitmapFromRenderTargetBitmap(adapter, bmp, hostPoint); } return null; } internal static RenderTargetBitmap GetBitmapForFrameworkElement(FrameworkElement element) { RenderTargetBitmap bmp = GetRenderTargetBitmapForVisual( (int)Math.Ceiling(element.ActualWidth), (int)Math.Ceiling(element.ActualHeight), element); return bmp; } internal static SD.Bitmap GetBitmapFromRenderTargetBitmap(Control control, RenderTargetBitmap bmp, Point offset) { if (bmp == null) { return new SD.Bitmap(1, 1); } using (MemoryStream memoryStream = new System.IO.MemoryStream()) { SD.Image newImage = null; BmpBitmapEncoder encoder = new BmpBitmapEncoder(); encoder.Frames.Add(BitmapFrame.Create(bmp)); encoder.Save(memoryStream); memoryStream.Seek(0, System.IO.SeekOrigin.Begin); using (newImage = SD.Image.FromStream(memoryStream)) using (SD.Graphics graphicsTemplate = control.CreateGraphics()) { int width = control.Width <= 0 ? 1 : control.Width; int height = control.Width <= 0 ? 1 : control.Height; SD.Bitmap chunk = new System.Drawing.Bitmap(width, height, graphicsTemplate); graphicsTemplate.Dispose(); using (SD.Graphics graphics = SD.Graphics.FromImage(chunk)) { graphics.DrawImage(newImage, (float)-offset.X, (float)-offset.Y); } return chunk; } } } internal static RenderTargetBitmap GetRenderTargetBitmapForVisual(int width, int height, Visual visualToRender) { if (width < 1 || height < 1) { return null; } RenderTargetBitmap bmp = new RenderTargetBitmap( width, height, HostUtils.PixelsPerInch(Orientation.Horizontal), HostUtils.PixelsPerInch(Orientation.Vertical), PixelFormats.Pbgra32); bmp.Render(visualToRender); return bmp; } internal static SD.Bitmap GetBitmapForOpaqueWindowsFormsHost(WindowsFormsHost host, Brush brush) { WinFormsAdapter adapter = WindowsFormsHostPropertyMap.GetAdapter(host); if (adapter == null) { return null; } DrawingVisual drawingVisual = new DrawingVisual(); DrawingContext drawingContext = drawingVisual.RenderOpen(); drawingContext.DrawRectangle(brush, null, new Rect(0, 0, adapter.Width, adapter.Height)); drawingContext.Close(); RenderTargetBitmap bmp = GetRenderTargetBitmapForVisual(adapter.Width, adapter.Height, drawingVisual); return GetBitmapFromRenderTargetBitmap(adapter, bmp, new Point(0, 0)); } internal static Vector GetScale(Visual visual) { bool skewed; return GetScale(visual, out skewed); } internal static Vector GetScale(Visual visual, out bool skewed) { // Determine whether WindowsFormsHost scaling has changed Point pOrigin = HostUtils.TransformToRootPoint(visual, new Point(0.0, 0.0)); Point pX = HostUtils.TransformToRootPoint(visual, new Point(1.0, 0.0)); Point pY = HostUtils.TransformToRootPoint(visual, new Point(0.0, 1.0)); Vector xComponent = pX - pOrigin; Vector yComponent = pY - pOrigin; skewed = (!IsZero(xComponent.Y) || !IsZero(yComponent.X)); return new Vector(xComponent.Length, yComponent.Length); } internal static bool IsRotated(Visual visual) { // Determine whether WindowsFormsHost is rotated Point pOrigin = HostUtils.TransformToRootPoint(visual, new Point(0.0, 0.0)); Point pX = HostUtils.TransformToRootPoint(visual, new Point(1.0, 0.0)); Point pY = HostUtils.TransformToRootPoint(visual, new Point(0.0, 1.0)); Vector xComponent = pX - pOrigin; Vector yComponent = pY - pOrigin; return xComponent.X < 0 || yComponent.Y < 0; } internal static int PixelsPerInch(Orientation orientation) { int nIndex = (orientation == Orientation.Horizontal ? NativeMethods.LOGPIXELSX : NativeMethods.LOGPIXELSY); using (DCSafeHandle screenDC = UnsafeNativeMethods.CreateDC(DISPLAY)) { return screenDC.IsInvalid ? defaultPixelsPerInch : UnsafeNativeMethods.GetDeviceCaps(screenDC, nIndex); } } //Doubles may return != 0 for a small delta: if it's really close to zero, just //call it 0. internal static bool IsZero(double value) { //See DoubleUtil.IsZero const double DBL_EPSILON = 2.2204460492503131e-16; //smallest double such that 1.0+DBL_EPSILON != 1.0 return Math.Abs(value) < 10d * DBL_EPSILON; } internal static int LOWORD(IntPtr ptr) { return (int)((long)ptr & 0xffff); } /// /// Determines whether a FontWeight should be considered bold (everything on /// the dark side of Medium, including Medium) /// /// ///public static bool FontWeightIsBold(FontWeight fontWeight) { return fontWeight >= SW.FontWeights.Medium; } /// /// Returns the first ancestor element in the visual tree that has Cursor set, or /// ForceCursor if we're mapping it /// /// /// ///public static FrameworkElement GetCursorSource(DependencyObject currentObject, bool forceCursorMapped) { while (currentObject != null) { FrameworkElement currentElement = currentObject as FrameworkElement; if (currentElement != null && ( currentElement.Cursor != null || (currentElement.ForceCursor && forceCursorMapped) ) ) { return currentElement; } currentObject = VisualTreeHelper.GetParent(currentObject); } return null; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- Rule.cs
- SelectedDatesCollection.cs
- FontDifferentiator.cs
- RectangleGeometry.cs
- DictionaryBase.cs
- HeaderedItemsControl.cs
- NameValuePair.cs
- SimpleWorkerRequest.cs
- SchemaEntity.cs
- AutoResetEvent.cs
- RecordConverter.cs
- XmlSchemaAttribute.cs
- Encoder.cs
- XLinq.cs
- SequenceRange.cs
- keycontainerpermission.cs
- ActivityTrace.cs
- CreateUserWizard.cs
- XmlILConstructAnalyzer.cs
- LogicalTreeHelper.cs
- Transform3DGroup.cs
- BlurBitmapEffect.cs
- TokenBasedSetEnumerator.cs
- JavaScriptObjectDeserializer.cs
- MultipleViewProviderWrapper.cs
- MethodToken.cs
- ExpressionConverter.cs
- WebPartConnectionsConfigureVerb.cs
- ResXBuildProvider.cs
- DataContractJsonSerializerOperationFormatter.cs
- HtmlInputText.cs
- GridViewDeleteEventArgs.cs
- XmlSchemaNotation.cs
- BorderGapMaskConverter.cs
- QueryInterceptorAttribute.cs
- ErasingStroke.cs
- SliderAutomationPeer.cs
- OleServicesContext.cs
- ObjectPersistData.cs
- ContentPosition.cs
- HttpListener.cs
- Util.cs
- EditingContext.cs
- XDRSchema.cs
- updateconfighost.cs
- DataGridViewControlCollection.cs
- COM2ExtendedTypeConverter.cs
- httpserverutility.cs
- XmlSchemaSimpleType.cs
- SourceFilter.cs
- BooleanStorage.cs
- MemberExpression.cs
- _ListenerRequestStream.cs
- TextTreeUndoUnit.cs
- Base64WriteStateInfo.cs
- Stackframe.cs
- ResourceDictionary.cs
- ProxyGenerationError.cs
- WindowsHyperlink.cs
- DPTypeDescriptorContext.cs
- PolyQuadraticBezierSegment.cs
- _Events.cs
- RefExpr.cs
- XmlCDATASection.cs
- XMLUtil.cs
- XLinq.cs
- RuleSetReference.cs
- RangeValuePattern.cs
- COM2EnumConverter.cs
- ContractReference.cs
- NativeActivityTransactionContext.cs
- StructureChangedEventArgs.cs
- DataPagerCommandEventArgs.cs
- DBCommand.cs
- UnsafeNativeMethods.cs
- MetabaseSettingsIis7.cs
- RowsCopiedEventArgs.cs
- BuilderInfo.cs
- ToolTipAutomationPeer.cs
- SizeChangedEventArgs.cs
- UInt64.cs
- EntityViewGenerationConstants.cs
- IdentityHolder.cs
- DocumentSchemaValidator.cs
- WebServiceResponseDesigner.cs
- Int32Converter.cs
- DummyDataSource.cs
- BuildProviderUtils.cs
- FileVersion.cs
- AutomationEventArgs.cs
- CheckoutException.cs
- RootProjectionNode.cs
- SoapSchemaExporter.cs
- PositiveTimeSpanValidatorAttribute.cs
- PixelFormats.cs
- DecimalFormatter.cs
- ProfileModule.cs
- TdsParserSessionPool.cs
- TypeConverterHelper.cs
- XmlHierarchicalEnumerable.cs