Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Framework / MS / Internal / Ink / TextClipboardData.cs / 1 / TextClipboardData.cs
//---------------------------------------------------------------------------- // // File: TextClipboardData.cs // // Description: // A base class which can copy a unicode text to the IDataObject. // It also can get the unicode text from the IDataObject and create a corresponding textbox. // // Features: // // History: // 11/17/2004 [....]: Created // // Copyright (C) 2001 by Microsoft Corporation. All rights reserved. // //--------------------------------------------------------------------------- using System; using System.Collections; using System.Collections.Generic; using System.Windows; using System.Windows.Controls; using System.Windows.Markup; using System.Text; namespace MS.Internal.Ink { internal class TextClipboardData : ElementsClipboardData { //------------------------------------------------------------------------------- // // Constructors // //------------------------------------------------------------------------------- #region Constructors // The default constructor internal TextClipboardData() : this(null) {} // The constructor with a string as argument internal TextClipboardData(string text) { _text = text; } #endregion Constructors // Checks if the data can be pasted. internal override bool CanPaste(IDataObject dataObject) { return ( dataObject.GetDataPresent(DataFormats.UnicodeText, false) || dataObject.GetDataPresent(DataFormats.Text, false) || dataObject.GetDataPresent(DataFormats.OemText, false) ); } //-------------------------------------------------------------------------------- // // Protected Methods // //------------------------------------------------------------------------------- #region Protected Methods // Checks if the data can be copied. protected override bool CanCopy() { return !string.IsNullOrEmpty(_text); } // Copy the text to the IDataObject protected override void DoCopy(IDataObject dataObject) { // Put the text to the clipboard dataObject.SetData(DataFormats.UnicodeText, _text, true); } // Retrieves the text from the IDataObject instance. // Then create a textbox with the text data. protected override void DoPaste(IDataObject dataObject) { ElementList = new List(); // Get the string from the data object. string text = dataObject.GetData(DataFormats.UnicodeText, true) as string; if ( String.IsNullOrEmpty(text) ) { // OemText can be retrieved as CF_TEXT. text = dataObject.GetData(DataFormats.Text, true) as string; } if ( !String.IsNullOrEmpty(text) ) { // Now, create a text box and set the text to it. TextBox textBox = new TextBox(); textBox.Text = text; textBox.TextWrapping = TextWrapping.Wrap; // Add the textbox to the internal array list. ElementList.Add(textBox); } } #endregion Protected Methods //-------------------------------------------------------------------------------- // // Private Fields // //-------------------------------------------------------------------------------- #region Private Fields private string _text; #endregion Private Fields } } // 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
- ComplexObject.cs
- Rect.cs
- DbExpressionBuilder.cs
- ButtonField.cs
- ICollection.cs
- UnknownBitmapDecoder.cs
- X509ThumbprintKeyIdentifierClause.cs
- CollectionAdapters.cs
- AuthorizationSection.cs
- WasHttpModulesInstallComponent.cs
- EntitySqlQueryCacheEntry.cs
- RedirectionProxy.cs
- Metadata.cs
- ColorInterpolationModeValidation.cs
- UpdateCompiler.cs
- Utils.cs
- DateTimeOffsetStorage.cs
- QueryHandler.cs
- DataReceivedEventArgs.cs
- SqlConnectionStringBuilder.cs
- DynamicMethod.cs
- HtmlContainerControl.cs
- UndoUnit.cs
- SingleTagSectionHandler.cs
- ObjectListShowCommandsEventArgs.cs
- RecoverInstanceLocksCommand.cs
- X509Certificate.cs
- QueryStatement.cs
- CustomCredentialPolicy.cs
- TextBox.cs
- DbConnectionPoolCounters.cs
- ServicesUtilities.cs
- WebPartAddingEventArgs.cs
- HelpProvider.cs
- SmtpSpecifiedPickupDirectoryElement.cs
- ValueSerializerAttribute.cs
- ObfuscateAssemblyAttribute.cs
- PowerEase.cs
- CompositeFontParser.cs
- ReferentialConstraint.cs
- DataGridViewButtonCell.cs
- ResourceAttributes.cs
- ClockGroup.cs
- IResourceProvider.cs
- KnownTypes.cs
- PeerCollaborationPermission.cs
- NativeCppClassAttribute.cs
- FixedSOMTableCell.cs
- XmlNodeChangedEventManager.cs
- FormViewInsertEventArgs.cs
- UriTemplatePathSegment.cs
- DataControlLinkButton.cs
- dbdatarecord.cs
- MessagePropertyDescription.cs
- WindowsGrip.cs
- JavaScriptObjectDeserializer.cs
- DisplayInformation.cs
- BoundPropertyEntry.cs
- XmlDataSourceView.cs
- MessageContractAttribute.cs
- RestClientProxyHandler.cs
- DefaultTraceListener.cs
- DataGridState.cs
- LogPolicy.cs
- ImageConverter.cs
- ConfigsHelper.cs
- DynamicRenderer.cs
- Funcletizer.cs
- SettingsProviderCollection.cs
- CultureInfoConverter.cs
- ObjectView.cs
- PropertyReferenceSerializer.cs
- QueryOptionExpression.cs
- CurrentTimeZone.cs
- KeyGesture.cs
- ApplicationManager.cs
- ChangeInterceptorAttribute.cs
- StringStorage.cs
- CryptoStream.cs
- CharConverter.cs
- DataGridViewSelectedCellsAccessibleObject.cs
- ConfigurationException.cs
- MediaTimeline.cs
- OSFeature.cs
- ListManagerBindingsCollection.cs
- EntityObject.cs
- PinnedBufferMemoryStream.cs
- InvokeGenerator.cs
- AttributeEmitter.cs
- XmlQueryOutput.cs
- InfoCardServiceInstallComponent.cs
- XmlQueryContext.cs
- RegexCapture.cs
- SharedPersonalizationStateInfo.cs
- HWStack.cs
- MatrixCamera.cs
- DeflateEmulationStream.cs
- PackageRelationshipCollection.cs
- DataSourceSelectArguments.cs
- ValueTypeFixupInfo.cs