Click here to Skip to main content
15,885,278 members
Articles / Desktop Programming / WPF

Wrap Panel Virtualization

Rate me:
Please Sign up or sign in to vote.
4.95/5 (18 votes)
2 Jan 2012CPOL2 min read 53.2K   5.6K   41  
WrapPanel doesn't support virtualization. But we can improve the performance by simulating virtualization.
using System;
using System.Collections.Generic;
using System.Text;

namespace Tags.ID3
{
    /// <summary>
    /// Indicates diffrent types of text encoding use for texts
    /// </summary>
    public enum TextEncodings
    {
        /// <summary>
        /// Use Asccii as text encoding
        /// </summary>
        Ascii = 0,
        /// <summary>
        /// Use UTF16 (little endian) as text encoding
        /// </summary>
        UTF_16 = 1,
        /// <summary>
        /// Use UTF16 (big endian) as text encoding
        /// </summary>
        UTF_16BE = 2,
        /// <summary>
        /// Use UTF8 as text encoding
        /// </summary>
        UTF8 = 3
    }

    /// <summary>
    /// Provide frame flags for all frames
    /// </summary>
    [Flags]
    public enum FrameFlags
    {
        /// <summary>
        /// Tag Alter if not valid
        /// </summary>
        TagAlterPreservation = 0x8000,
        /// <summary>
        /// File Alter if not valid
        /// </summary>
        FileAlterPreservation = 0x4000,
        /// <summary>
        /// Readonly
        /// </summary>
        ReadOnly = 0x2000,
        /// <summary>
        /// Compressed
        /// </summary>
        Compression = 0x0080,
        /// <summary>
        /// Encrypted
        /// </summary>
        Encryption = 0x0040,
        /// <summary>
        /// Grouped by another tags
        /// </summary>
        GroupingIdentity = 0x0020
    }

    /// <summary>
    /// Specifies types of time stamps
    /// </summary>
    public enum TimeStamps
    {
        /// <summary>
        /// Use mpeg frame as timestamp
        /// </summary>
        MpegFrame = 1,
        /// <summary>
        /// using millisecond as timestamp
        /// </summary>
        Milliseconds
    }

    /// <summary>
    /// Specifies incrementing or dcrementing must use for relative volume
    /// </summary>
    public enum IncrementDecrement
    {
        /// <summary>
        /// To decrement value
        /// </summary>
        Dcrement = 0,
        /// <summary>
        /// To increment value
        /// </summary>
        Increment
    }

    /// <summary>
    /// Enum for ID3v2 header flags
    /// </summary>
    [Flags]
    public enum ID3v2HeaderFlags
    {
        /// <summary>
        /// Indicates whether or not unsynchronisation is used 
        /// </summary>
        Unsynchronisation = 128,
        /// <summary>
        /// Indicate ID3v2 contains exnted header data
        /// </summary>
        ExtendedHeader = 64,
        /// <summary>
        /// Means ID3v2 tag is experimental
        /// </summary>
        Experimental = 32
    }

    /// <summary>
    /// Diffrent types of frame filter usage
    /// </summary>
    public enum FilterTypes
    {
        /// <summary>
        /// No filter
        /// </summary>
        NoFilter = 0,
        /// <summary>
        /// Load filtered frames only
        /// </summary>
        LoadFiltersOnly = 1,
        /// <summary>
        /// Do not load filtered frames
        /// </summary>
        NotLoadFilters = 2
    }

    /// <summary>
    /// Indicates diffrent versions of ID3
    /// </summary>
    public enum ID3Versions
    {
        /// <summary>
        /// ID3 version 1
        /// </summary>
        ID3v1,
        /// <summary>
        /// ID3 version 2
        /// </summary>
        ID3v2
    }
}

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Software Developer (Senior) KAZ Software Limited
Bangladesh Bangladesh
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions