commit
41510b497b
11 changed files with 854 additions and 0 deletions
@ -0,0 +1,39 @@ |
|||||
|
|
||||
|
Microsoft Visual Studio Solution File, Format Version 11.00 |
||||
|
# Visual Studio 2010 |
||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WPFToolkit.Extended", "Src\WPFToolkit.Extended\WPFToolkit.Extended.csproj", "{72E591D6-8F83-4D8C-8F67-9C325E623234}" |
||||
|
EndProject |
||||
|
Global |
||||
|
GlobalSection(TeamFoundationVersionControl) = preSolution |
||||
|
SccNumberOfProjects = 2 |
||||
|
SccEnterpriseProvider = {4CA58AB2-18FA-4F8D-95D4-32DDF27D184C} |
||||
|
SccTeamFoundationServer = https://tfs.codeplex.com/tfs/tfs02 |
||||
|
SccLocalPath0 = . |
||||
|
SccProjectUniqueName1 = Src\\WPFToolkit.Extended\\WPFToolkit.Extended.csproj |
||||
|
SccProjectName1 = Src/WPFToolkit.Extended |
||||
|
SccLocalPath1 = Src\\WPFToolkit.Extended |
||||
|
EndGlobalSection |
||||
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution |
||||
|
Debug|Any CPU = Debug|Any CPU |
||||
|
Debug|Mixed Platforms = Debug|Mixed Platforms |
||||
|
Debug|x86 = Debug|x86 |
||||
|
Release|Any CPU = Release|Any CPU |
||||
|
Release|Mixed Platforms = Release|Mixed Platforms |
||||
|
Release|x86 = Release|x86 |
||||
|
EndGlobalSection |
||||
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution |
||||
|
{72E591D6-8F83-4D8C-8F67-9C325E623234}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
||||
|
{72E591D6-8F83-4D8C-8F67-9C325E623234}.Debug|Any CPU.Build.0 = Debug|Any CPU |
||||
|
{72E591D6-8F83-4D8C-8F67-9C325E623234}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU |
||||
|
{72E591D6-8F83-4D8C-8F67-9C325E623234}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU |
||||
|
{72E591D6-8F83-4D8C-8F67-9C325E623234}.Debug|x86.ActiveCfg = Debug|Any CPU |
||||
|
{72E591D6-8F83-4D8C-8F67-9C325E623234}.Release|Any CPU.ActiveCfg = Release|Any CPU |
||||
|
{72E591D6-8F83-4D8C-8F67-9C325E623234}.Release|Any CPU.Build.0 = Release|Any CPU |
||||
|
{72E591D6-8F83-4D8C-8F67-9C325E623234}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU |
||||
|
{72E591D6-8F83-4D8C-8F67-9C325E623234}.Release|Mixed Platforms.Build.0 = Release|Any CPU |
||||
|
{72E591D6-8F83-4D8C-8F67-9C325E623234}.Release|x86.ActiveCfg = Release|Any CPU |
||||
|
EndGlobalSection |
||||
|
GlobalSection(SolutionProperties) = preSolution |
||||
|
HideSolutionNode = FALSE |
||||
|
EndGlobalSection |
||||
|
EndGlobal |
||||
@ -0,0 +1,263 @@ |
|||||
|
using System; |
||||
|
using System.Windows; |
||||
|
using System.Windows.Controls; |
||||
|
using System.Windows.Shapes; |
||||
|
using System.Windows.Threading; |
||||
|
|
||||
|
namespace Microsoft.Windows.Controls |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// A control to provide a visual indicator when an application is busy.
|
||||
|
/// </summary>
|
||||
|
/// <QualityBand>Preview</QualityBand>
|
||||
|
[TemplateVisualState(Name = VisualStates.StateIdle, GroupName = VisualStates.GroupBusyStatus)] |
||||
|
[TemplateVisualState(Name = VisualStates.StateBusy, GroupName = VisualStates.GroupBusyStatus)] |
||||
|
[TemplateVisualState(Name = VisualStates.StateVisible, GroupName = VisualStates.GroupVisibility)] |
||||
|
[TemplateVisualState(Name = VisualStates.StateHidden, GroupName = VisualStates.GroupVisibility)] |
||||
|
[StyleTypedProperty(Property = "OverlayStyle", StyleTargetType = typeof(Rectangle))] |
||||
|
[StyleTypedProperty(Property = "ProgressBarStyle", StyleTargetType = typeof(ProgressBar))] |
||||
|
public class BusyIndicator : ContentControl |
||||
|
{ |
||||
|
#region Private Members
|
||||
|
|
||||
|
/// <summary>
|
||||
|
/// Timer used to delay the initial display and avoid flickering.
|
||||
|
/// </summary>
|
||||
|
private DispatcherTimer _displayAfterTimer = new DispatcherTimer(); |
||||
|
|
||||
|
#endregion //Private Members
|
||||
|
|
||||
|
#region Constructors
|
||||
|
|
||||
|
public BusyIndicator() |
||||
|
{ |
||||
|
DefaultStyleKeyProperty.OverrideMetadata(typeof(BusyIndicator), new FrameworkPropertyMetadata(typeof(BusyIndicator))); |
||||
|
_displayAfterTimer.Tick += new EventHandler(DisplayAfterTimerElapsed); |
||||
|
} |
||||
|
|
||||
|
#endregion //Constructors
|
||||
|
|
||||
|
#region Base Class Overrides
|
||||
|
|
||||
|
/// <summary>
|
||||
|
/// Overrides the OnApplyTemplate method.
|
||||
|
/// </summary>
|
||||
|
public override void OnApplyTemplate() |
||||
|
{ |
||||
|
base.OnApplyTemplate(); |
||||
|
ChangeVisualState(false); |
||||
|
} |
||||
|
|
||||
|
#endregion //Base Class Overrides
|
||||
|
|
||||
|
#region Properties
|
||||
|
|
||||
|
/// <summary>
|
||||
|
/// Gets or sets a value indicating whether the BusyContent is visible.
|
||||
|
/// </summary>
|
||||
|
protected bool IsContentVisible { get; set; } |
||||
|
|
||||
|
#endregion //Properties
|
||||
|
|
||||
|
#region Dependency Properties
|
||||
|
|
||||
|
#region IsBusy
|
||||
|
|
||||
|
/// <summary>
|
||||
|
/// Identifies the IsBusy dependency property.
|
||||
|
/// </summary>
|
||||
|
public static readonly DependencyProperty IsBusyProperty = DependencyProperty.Register( |
||||
|
"IsBusy", |
||||
|
typeof(bool), |
||||
|
typeof(BusyIndicator), |
||||
|
new PropertyMetadata(false, new PropertyChangedCallback(OnIsBusyChanged))); |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// Gets or sets a value indicating whether the busy indicator should show.
|
||||
|
/// </summary>
|
||||
|
public bool IsBusy |
||||
|
{ |
||||
|
get { return (bool)GetValue(IsBusyProperty); } |
||||
|
set { SetValue(IsBusyProperty, value); } |
||||
|
} |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// IsBusyProperty property changed handler.
|
||||
|
/// </summary>
|
||||
|
/// <param name="d">BusyIndicator that changed its IsBusy.</param>
|
||||
|
/// <param name="e">Event arguments.</param>
|
||||
|
private static void OnIsBusyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) |
||||
|
{ |
||||
|
((BusyIndicator)d).OnIsBusyChanged(e); |
||||
|
} |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// IsBusyProperty property changed handler.
|
||||
|
/// </summary>
|
||||
|
/// <param name="e">Event arguments.</param>
|
||||
|
protected virtual void OnIsBusyChanged(DependencyPropertyChangedEventArgs e) |
||||
|
{ |
||||
|
if (IsBusy) |
||||
|
{ |
||||
|
if (DisplayAfter.Equals(TimeSpan.Zero)) |
||||
|
{ |
||||
|
// Go visible now
|
||||
|
IsContentVisible = true; |
||||
|
} |
||||
|
else |
||||
|
{ |
||||
|
// Set a timer to go visible
|
||||
|
_displayAfterTimer.Interval = DisplayAfter; |
||||
|
_displayAfterTimer.Start(); |
||||
|
} |
||||
|
} |
||||
|
else |
||||
|
{ |
||||
|
// No longer visible
|
||||
|
_displayAfterTimer.Stop(); |
||||
|
IsContentVisible = false; |
||||
|
} |
||||
|
|
||||
|
ChangeVisualState(true); |
||||
|
} |
||||
|
|
||||
|
#endregion //IsBusy
|
||||
|
|
||||
|
#region Busy Content
|
||||
|
|
||||
|
/// <summary>
|
||||
|
/// Identifies the BusyContent dependency property.
|
||||
|
/// </summary>
|
||||
|
public static readonly DependencyProperty BusyContentProperty = DependencyProperty.Register( |
||||
|
"BusyContent", |
||||
|
typeof(object), |
||||
|
typeof(BusyIndicator), |
||||
|
new PropertyMetadata(null)); |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// Gets or sets a value indicating the busy content to display to the user.
|
||||
|
/// </summary>
|
||||
|
public object BusyContent |
||||
|
{ |
||||
|
get { return (object)GetValue(BusyContentProperty); } |
||||
|
set { SetValue(BusyContentProperty, value); } |
||||
|
} |
||||
|
|
||||
|
#endregion //Busy Content
|
||||
|
|
||||
|
#region Busy Content Template
|
||||
|
|
||||
|
/// <summary>
|
||||
|
/// Identifies the BusyTemplate dependency property.
|
||||
|
/// </summary>
|
||||
|
public static readonly DependencyProperty BusyContentTemplateProperty = DependencyProperty.Register( |
||||
|
"BusyContentTemplate", |
||||
|
typeof(DataTemplate), |
||||
|
typeof(BusyIndicator), |
||||
|
new PropertyMetadata(null)); |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// Gets or sets a value indicating the template to use for displaying the busy content to the user.
|
||||
|
/// </summary>
|
||||
|
public DataTemplate BusyContentTemplate |
||||
|
{ |
||||
|
get { return (DataTemplate)GetValue(BusyContentTemplateProperty); } |
||||
|
set { SetValue(BusyContentTemplateProperty, value); } |
||||
|
} |
||||
|
|
||||
|
#endregion //Busy Content Template
|
||||
|
|
||||
|
#region Display After
|
||||
|
|
||||
|
/// <summary>
|
||||
|
/// Identifies the DisplayAfter dependency property.
|
||||
|
/// </summary>
|
||||
|
public static readonly DependencyProperty DisplayAfterProperty = DependencyProperty.Register( |
||||
|
"DisplayAfter", |
||||
|
typeof(TimeSpan), |
||||
|
typeof(BusyIndicator), |
||||
|
new PropertyMetadata(TimeSpan.FromSeconds(0.1))); |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// Gets or sets a value indicating how long to delay before displaying the busy content.
|
||||
|
/// </summary>
|
||||
|
public TimeSpan DisplayAfter |
||||
|
{ |
||||
|
get { return (TimeSpan)GetValue(DisplayAfterProperty); } |
||||
|
set { SetValue(DisplayAfterProperty, value); } |
||||
|
} |
||||
|
|
||||
|
#endregion //Display After
|
||||
|
|
||||
|
#region Overlay Style
|
||||
|
|
||||
|
/// <summary>
|
||||
|
/// Identifies the OverlayStyle dependency property.
|
||||
|
/// </summary>
|
||||
|
public static readonly DependencyProperty OverlayStyleProperty = DependencyProperty.Register( |
||||
|
"OverlayStyle", |
||||
|
typeof(Style), |
||||
|
typeof(BusyIndicator), |
||||
|
new PropertyMetadata(null)); |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// Gets or sets a value indicating the style to use for the overlay.
|
||||
|
/// </summary>
|
||||
|
public Style OverlayStyle |
||||
|
{ |
||||
|
get { return (Style)GetValue(OverlayStyleProperty); } |
||||
|
set { SetValue(OverlayStyleProperty, value); } |
||||
|
} |
||||
|
#endregion //Overlay Style
|
||||
|
|
||||
|
#region ProgressBar Style
|
||||
|
|
||||
|
/// <summary>
|
||||
|
/// Identifies the ProgressBarStyle dependency property.
|
||||
|
/// </summary>
|
||||
|
public static readonly DependencyProperty ProgressBarStyleProperty = DependencyProperty.Register( |
||||
|
"ProgressBarStyle", |
||||
|
typeof(Style), |
||||
|
typeof(BusyIndicator), |
||||
|
new PropertyMetadata(null)); |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// Gets or sets a value indicating the style to use for the progress bar.
|
||||
|
/// </summary>
|
||||
|
public Style ProgressBarStyle |
||||
|
{ |
||||
|
get { return (Style)GetValue(ProgressBarStyleProperty); } |
||||
|
set { SetValue(ProgressBarStyleProperty, value); } |
||||
|
} |
||||
|
|
||||
|
#endregion //ProgressBar Style
|
||||
|
|
||||
|
#endregion //Dependency Properties
|
||||
|
|
||||
|
#region Methods
|
||||
|
|
||||
|
/// <summary>
|
||||
|
/// Handler for the DisplayAfterTimer.
|
||||
|
/// </summary>
|
||||
|
/// <param name="sender">Event sender.</param>
|
||||
|
/// <param name="e">Event arguments.</param>
|
||||
|
private void DisplayAfterTimerElapsed(object sender, EventArgs e) |
||||
|
{ |
||||
|
_displayAfterTimer.Stop(); |
||||
|
IsContentVisible = true; |
||||
|
ChangeVisualState(true); |
||||
|
} |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// Changes the control's visual state(s).
|
||||
|
/// </summary>
|
||||
|
/// <param name="useTransitions">True if state transitions should be used.</param>
|
||||
|
protected virtual void ChangeVisualState(bool useTransitions) |
||||
|
{ |
||||
|
VisualStateManager.GoToState(this, IsBusy ? VisualStates.StateBusy : VisualStates.StateIdle, useTransitions); |
||||
|
VisualStateManager.GoToState(this, IsContentVisible ? VisualStates.StateVisible : VisualStates.StateHidden, useTransitions); |
||||
|
} |
||||
|
|
||||
|
#endregion //Methods
|
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,55 @@ |
|||||
|
using System.Reflection; |
||||
|
using System.Resources; |
||||
|
using System.Runtime.CompilerServices; |
||||
|
using System.Runtime.InteropServices; |
||||
|
using System.Windows; |
||||
|
|
||||
|
// General Information about an assembly is controlled through the following
|
||||
|
// set of attributes. Change these attribute values to modify the information
|
||||
|
// associated with an assembly.
|
||||
|
[assembly: AssemblyTitle("WPFToolkit.Extended")] |
||||
|
[assembly: AssemblyDescription("")] |
||||
|
[assembly: AssemblyConfiguration("")] |
||||
|
[assembly: AssemblyCompany("")] |
||||
|
[assembly: AssemblyProduct("WPFToolkit.Extended")] |
||||
|
[assembly: AssemblyCopyright("Copyright © 2010")] |
||||
|
[assembly: AssemblyTrademark("")] |
||||
|
[assembly: AssemblyCulture("")] |
||||
|
|
||||
|
// Setting ComVisible to false makes the types in this assembly not visible
|
||||
|
// to COM components. If you need to access a type in this assembly from
|
||||
|
// COM, set the ComVisible attribute to true on that type.
|
||||
|
[assembly: ComVisible(false)] |
||||
|
|
||||
|
//In order to begin building localizable applications, set
|
||||
|
//<UICulture>CultureYouAreCodingWith</UICulture> in your .csproj file
|
||||
|
//inside a <PropertyGroup>. For example, if you are using US english
|
||||
|
//in your source files, set the <UICulture> to en-US. Then uncomment
|
||||
|
//the NeutralResourceLanguage attribute below. Update the "en-US" in
|
||||
|
//the line below to match the UICulture setting in the project file.
|
||||
|
|
||||
|
//[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
|
||||
|
|
||||
|
|
||||
|
[assembly: ThemeInfo( |
||||
|
ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
|
||||
|
//(used if a resource is not found in the page,
|
||||
|
// or application resource dictionaries)
|
||||
|
ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
|
||||
|
//(used if a resource is not found in the page,
|
||||
|
// app, or any theme specific resource dictionaries)
|
||||
|
)] |
||||
|
|
||||
|
|
||||
|
// Version information for an assembly consists of the following four values:
|
||||
|
//
|
||||
|
// Major Version
|
||||
|
// Minor Version
|
||||
|
// Build Number
|
||||
|
// Revision
|
||||
|
//
|
||||
|
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
|
// by using the '*' as shown below:
|
||||
|
// [assembly: AssemblyVersion("1.0.*")]
|
||||
|
[assembly: AssemblyVersion("1.0.0.0")] |
||||
|
[assembly: AssemblyFileVersion("1.0.0.0")] |
||||
@ -0,0 +1,63 @@ |
|||||
|
//------------------------------------------------------------------------------
|
||||
|
// <auto-generated>
|
||||
|
// This code was generated by a tool.
|
||||
|
// Runtime Version:4.0.30319.1
|
||||
|
//
|
||||
|
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
|
// the code is regenerated.
|
||||
|
// </auto-generated>
|
||||
|
//------------------------------------------------------------------------------
|
||||
|
|
||||
|
namespace Microsoft.Windows.Controls.Properties { |
||||
|
using System; |
||||
|
|
||||
|
|
||||
|
/// <summary>
|
||||
|
/// A strongly-typed resource class, for looking up localized strings, etc.
|
||||
|
/// </summary>
|
||||
|
// This class was auto-generated by the StronglyTypedResourceBuilder
|
||||
|
// class via a tool like ResGen or Visual Studio.
|
||||
|
// To add or remove a member, edit your .ResX file then rerun ResGen
|
||||
|
// with the /str option, or rebuild your VS project.
|
||||
|
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] |
||||
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()] |
||||
|
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] |
||||
|
internal class Resources { |
||||
|
|
||||
|
private static global::System.Resources.ResourceManager resourceMan; |
||||
|
|
||||
|
private static global::System.Globalization.CultureInfo resourceCulture; |
||||
|
|
||||
|
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] |
||||
|
internal Resources() { |
||||
|
} |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// Returns the cached ResourceManager instance used by this class.
|
||||
|
/// </summary>
|
||||
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] |
||||
|
internal static global::System.Resources.ResourceManager ResourceManager { |
||||
|
get { |
||||
|
if (object.ReferenceEquals(resourceMan, null)) { |
||||
|
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Microsoft.Windows.Controls.Properties.Resources", typeof(Resources).Assembly); |
||||
|
resourceMan = temp; |
||||
|
} |
||||
|
return resourceMan; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// Overrides the current thread's CurrentUICulture property for all
|
||||
|
/// resource lookups using this strongly typed resource class.
|
||||
|
/// </summary>
|
||||
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] |
||||
|
internal static global::System.Globalization.CultureInfo Culture { |
||||
|
get { |
||||
|
return resourceCulture; |
||||
|
} |
||||
|
set { |
||||
|
resourceCulture = value; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,117 @@ |
|||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||
|
<root> |
||||
|
<!-- |
||||
|
Microsoft ResX Schema |
||||
|
|
||||
|
Version 2.0 |
||||
|
|
||||
|
The primary goals of this format is to allow a simple XML format |
||||
|
that is mostly human readable. The generation and parsing of the |
||||
|
various data types are done through the TypeConverter classes |
||||
|
associated with the data types. |
||||
|
|
||||
|
Example: |
||||
|
|
||||
|
... ado.net/XML headers & schema ... |
||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader> |
||||
|
<resheader name="version">2.0</resheader> |
||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> |
||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> |
||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> |
||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> |
||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> |
||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value> |
||||
|
</data> |
||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> |
||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> |
||||
|
<comment>This is a comment</comment> |
||||
|
</data> |
||||
|
|
||||
|
There are any number of "resheader" rows that contain simple |
||||
|
name/value pairs. |
||||
|
|
||||
|
Each data row contains a name, and value. The row also contains a |
||||
|
type or mimetype. Type corresponds to a .NET class that support |
||||
|
text/value conversion through the TypeConverter architecture. |
||||
|
Classes that don't support this are serialized and stored with the |
||||
|
mimetype set. |
||||
|
|
||||
|
The mimetype is used for serialized objects, and tells the |
||||
|
ResXResourceReader how to depersist the object. This is currently not |
||||
|
extensible. For a given mimetype the value must be set accordingly: |
||||
|
|
||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format |
||||
|
that the ResXResourceWriter will generate, however the reader can |
||||
|
read any of the formats listed below. |
||||
|
|
||||
|
mimetype: application/x-microsoft.net.object.binary.base64 |
||||
|
value : The object must be serialized with |
||||
|
: System.Serialization.Formatters.Binary.BinaryFormatter |
||||
|
: and then encoded with base64 encoding. |
||||
|
|
||||
|
mimetype: application/x-microsoft.net.object.soap.base64 |
||||
|
value : The object must be serialized with |
||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter |
||||
|
: and then encoded with base64 encoding. |
||||
|
|
||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64 |
||||
|
value : The object must be serialized into a byte array |
||||
|
: using a System.ComponentModel.TypeConverter |
||||
|
: and then encoded with base64 encoding. |
||||
|
--> |
||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> |
||||
|
<xsd:element name="root" msdata:IsDataSet="true"> |
||||
|
<xsd:complexType> |
||||
|
<xsd:choice maxOccurs="unbounded"> |
||||
|
<xsd:element name="metadata"> |
||||
|
<xsd:complexType> |
||||
|
<xsd:sequence> |
||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" /> |
||||
|
</xsd:sequence> |
||||
|
<xsd:attribute name="name" type="xsd:string" /> |
||||
|
<xsd:attribute name="type" type="xsd:string" /> |
||||
|
<xsd:attribute name="mimetype" type="xsd:string" /> |
||||
|
</xsd:complexType> |
||||
|
</xsd:element> |
||||
|
<xsd:element name="assembly"> |
||||
|
<xsd:complexType> |
||||
|
<xsd:attribute name="alias" type="xsd:string" /> |
||||
|
<xsd:attribute name="name" type="xsd:string" /> |
||||
|
</xsd:complexType> |
||||
|
</xsd:element> |
||||
|
<xsd:element name="data"> |
||||
|
<xsd:complexType> |
||||
|
<xsd:sequence> |
||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> |
||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> |
||||
|
</xsd:sequence> |
||||
|
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" /> |
||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> |
||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> |
||||
|
</xsd:complexType> |
||||
|
</xsd:element> |
||||
|
<xsd:element name="resheader"> |
||||
|
<xsd:complexType> |
||||
|
<xsd:sequence> |
||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> |
||||
|
</xsd:sequence> |
||||
|
<xsd:attribute name="name" type="xsd:string" use="required" /> |
||||
|
</xsd:complexType> |
||||
|
</xsd:element> |
||||
|
</xsd:choice> |
||||
|
</xsd:complexType> |
||||
|
</xsd:element> |
||||
|
</xsd:schema> |
||||
|
<resheader name="resmimetype"> |
||||
|
<value>text/microsoft-resx</value> |
||||
|
</resheader> |
||||
|
<resheader name="version"> |
||||
|
<value>2.0</value> |
||||
|
</resheader> |
||||
|
<resheader name="reader"> |
||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> |
||||
|
</resheader> |
||||
|
<resheader name="writer"> |
||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> |
||||
|
</resheader> |
||||
|
</root> |
||||
@ -0,0 +1,26 @@ |
|||||
|
//------------------------------------------------------------------------------
|
||||
|
// <auto-generated>
|
||||
|
// This code was generated by a tool.
|
||||
|
// Runtime Version:4.0.30319.1
|
||||
|
//
|
||||
|
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
|
// the code is regenerated.
|
||||
|
// </auto-generated>
|
||||
|
//------------------------------------------------------------------------------
|
||||
|
|
||||
|
namespace Microsoft.Windows.Controls.Properties { |
||||
|
|
||||
|
|
||||
|
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] |
||||
|
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0")] |
||||
|
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { |
||||
|
|
||||
|
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); |
||||
|
|
||||
|
public static Settings Default { |
||||
|
get { |
||||
|
return defaultInstance; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,7 @@ |
|||||
|
<?xml version='1.0' encoding='utf-8'?> |
||||
|
<SettingsFile xmlns="uri:settings" CurrentProfile="(Default)"> |
||||
|
<Profiles> |
||||
|
<Profile Name="(Default)" /> |
||||
|
</Profiles> |
||||
|
<Settings /> |
||||
|
</SettingsFile> |
||||
@ -0,0 +1,142 @@ |
|||||
|
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" |
||||
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" |
||||
|
xmlns:sys="clr-namespace:System;assembly=mscorlib" |
||||
|
xmlns:local="clr-namespace:Microsoft.Windows.Controls"> |
||||
|
|
||||
|
<!-- =============================================================================== --> |
||||
|
<!-- BusyIndicator --> |
||||
|
<!-- =============================================================================== --> |
||||
|
<Style TargetType="{x:Type local:BusyIndicator}"> |
||||
|
<Setter Property="BusyContent" Value="Please wait..."/> |
||||
|
<Setter Property="IsTabStop" Value="False"/> |
||||
|
<Setter Property="OverlayStyle"> |
||||
|
<Setter.Value> |
||||
|
<Style TargetType="Rectangle"> |
||||
|
<Setter Property="Fill" Value="White"/> |
||||
|
<Setter Property="Opacity" Value="0.5"/> |
||||
|
</Style> |
||||
|
</Setter.Value> |
||||
|
</Setter> |
||||
|
<Setter Property="ProgressBarStyle"> |
||||
|
<Setter.Value> |
||||
|
<Style TargetType="ProgressBar"> |
||||
|
<Setter Property="IsIndeterminate" Value="True"/> |
||||
|
<Setter Property="Height" Value="15"/> |
||||
|
<Setter Property="Margin" Value="8,0,8,8"/> |
||||
|
</Style> |
||||
|
</Setter.Value> |
||||
|
</Setter> |
||||
|
<Setter Property="DisplayAfter" Value="00:00:00.1"/> |
||||
|
<Setter Property="HorizontalAlignment" Value="Stretch"/> |
||||
|
<Setter Property="VerticalAlignment" Value="Stretch"/> |
||||
|
<Setter Property="HorizontalContentAlignment" Value="Stretch"/> |
||||
|
<Setter Property="VerticalContentAlignment" Value="Stretch"/> |
||||
|
<Setter Property="Template"> |
||||
|
<Setter.Value> |
||||
|
<ControlTemplate TargetType="{x:Type local:BusyIndicator}"> |
||||
|
<Grid> |
||||
|
<VisualStateManager.VisualStateGroups> |
||||
|
<VisualStateGroup x:Name="VisibilityStates"> |
||||
|
<VisualState x:Name="Hidden"> |
||||
|
<Storyboard> |
||||
|
<ObjectAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.001" Storyboard.TargetName="busycontent" Storyboard.TargetProperty="(UIElement.Visibility)"> |
||||
|
<DiscreteObjectKeyFrame KeyTime="00:00:00"> |
||||
|
<DiscreteObjectKeyFrame.Value> |
||||
|
<Visibility>Collapsed</Visibility> |
||||
|
</DiscreteObjectKeyFrame.Value> |
||||
|
</DiscreteObjectKeyFrame> |
||||
|
</ObjectAnimationUsingKeyFrames> |
||||
|
<ObjectAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.001" Storyboard.TargetName="overlay" Storyboard.TargetProperty="(UIElement.Visibility)"> |
||||
|
<DiscreteObjectKeyFrame KeyTime="00:00:00"> |
||||
|
<DiscreteObjectKeyFrame.Value> |
||||
|
<Visibility>Collapsed</Visibility> |
||||
|
</DiscreteObjectKeyFrame.Value> |
||||
|
</DiscreteObjectKeyFrame> |
||||
|
</ObjectAnimationUsingKeyFrames> |
||||
|
</Storyboard> |
||||
|
</VisualState> |
||||
|
<VisualState x:Name="Visible"> |
||||
|
<Storyboard> |
||||
|
<ObjectAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.001" Storyboard.TargetName="busycontent" Storyboard.TargetProperty="(UIElement.Visibility)"> |
||||
|
<DiscreteObjectKeyFrame KeyTime="00:00:00"> |
||||
|
<DiscreteObjectKeyFrame.Value> |
||||
|
<Visibility>Visible</Visibility> |
||||
|
</DiscreteObjectKeyFrame.Value> |
||||
|
</DiscreteObjectKeyFrame> |
||||
|
</ObjectAnimationUsingKeyFrames> |
||||
|
<ObjectAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.001" Storyboard.TargetName="overlay" Storyboard.TargetProperty="(UIElement.Visibility)"> |
||||
|
<DiscreteObjectKeyFrame KeyTime="00:00:00"> |
||||
|
<DiscreteObjectKeyFrame.Value> |
||||
|
<Visibility>Visible</Visibility> |
||||
|
</DiscreteObjectKeyFrame.Value> |
||||
|
</DiscreteObjectKeyFrame> |
||||
|
</ObjectAnimationUsingKeyFrames> |
||||
|
</Storyboard> |
||||
|
</VisualState> |
||||
|
</VisualStateGroup> |
||||
|
<VisualStateGroup x:Name="BusyStatusStates"> |
||||
|
<VisualState x:Name="Idle"> |
||||
|
<Storyboard> |
||||
|
<ObjectAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.001" Storyboard.TargetName="content" Storyboard.TargetProperty="(Control.IsEnabled)"> |
||||
|
<DiscreteObjectKeyFrame KeyTime="00:00:00"> |
||||
|
<DiscreteObjectKeyFrame.Value> |
||||
|
<sys:Boolean>True</sys:Boolean> |
||||
|
</DiscreteObjectKeyFrame.Value> |
||||
|
</DiscreteObjectKeyFrame> |
||||
|
</ObjectAnimationUsingKeyFrames> |
||||
|
</Storyboard> |
||||
|
</VisualState> |
||||
|
<VisualState x:Name="Busy"> |
||||
|
<Storyboard> |
||||
|
<ObjectAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.001" Storyboard.TargetName="content" Storyboard.TargetProperty="(Control.IsEnabled)"> |
||||
|
<DiscreteObjectKeyFrame KeyTime="00:00:00"> |
||||
|
<DiscreteObjectKeyFrame.Value> |
||||
|
<sys:Boolean>False</sys:Boolean> |
||||
|
</DiscreteObjectKeyFrame.Value> |
||||
|
</DiscreteObjectKeyFrame> |
||||
|
</ObjectAnimationUsingKeyFrames> |
||||
|
</Storyboard> |
||||
|
</VisualState> |
||||
|
</VisualStateGroup> |
||||
|
</VisualStateManager.VisualStateGroups> |
||||
|
<ContentControl x:Name="content" Content="{TemplateBinding Content}" ContentTemplate="{TemplateBinding ContentTemplate}" HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"/> |
||||
|
<Rectangle x:Name="overlay" Style="{TemplateBinding OverlayStyle}"/> |
||||
|
<ContentPresenter x:Name="busycontent"> |
||||
|
<ContentPresenter.Content> |
||||
|
<Grid HorizontalAlignment="Center" VerticalAlignment="Center"> |
||||
|
<Border Background="White" BorderThickness="1" CornerRadius="2"> |
||||
|
<Border.BorderBrush> |
||||
|
<LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1"> |
||||
|
<GradientStop Color="#FFA3AEB9" Offset="0"/> |
||||
|
<GradientStop Color="#FF8399A9" Offset="0.375"/> |
||||
|
<GradientStop Color="#FF718597" Offset="0.375"/> |
||||
|
<GradientStop Color="#FF617584" Offset="1"/> |
||||
|
</LinearGradientBrush> |
||||
|
</Border.BorderBrush> |
||||
|
<Border CornerRadius="1.5" Margin="1"> |
||||
|
<Border.Background> |
||||
|
<LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1"> |
||||
|
<GradientStop Color="#FFF6F8F9" Offset="0.02"/> |
||||
|
<GradientStop Color="#FFB8B8B8" Offset="0.996"/> |
||||
|
</LinearGradientBrush> |
||||
|
</Border.Background> |
||||
|
<Grid MinWidth="150"> |
||||
|
<Grid.RowDefinitions> |
||||
|
<RowDefinition/> |
||||
|
<RowDefinition Height="Auto"/> |
||||
|
</Grid.RowDefinitions> |
||||
|
<ContentPresenter Content="{TemplateBinding BusyContent}" ContentTemplate="{TemplateBinding BusyContentTemplate}" Margin="8"/> |
||||
|
<ProgressBar Grid.Row="1" Style="{TemplateBinding ProgressBarStyle}"/> |
||||
|
</Grid> |
||||
|
</Border> |
||||
|
</Border> |
||||
|
</Grid> |
||||
|
</ContentPresenter.Content> |
||||
|
</ContentPresenter> |
||||
|
</Grid> |
||||
|
</ControlTemplate> |
||||
|
</Setter.Value> |
||||
|
</Setter> |
||||
|
</Style> |
||||
|
|
||||
|
</ResourceDictionary> |
||||
@ -0,0 +1,37 @@ |
|||||
|
using System; |
||||
|
|
||||
|
namespace Microsoft.Windows.Controls |
||||
|
{ |
||||
|
internal static class VisualStates |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// Busyness group name.
|
||||
|
/// </summary>
|
||||
|
public const string GroupBusyStatus = "BusyStatusStates"; |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// Busy state for BusyIndicator.
|
||||
|
/// </summary>
|
||||
|
public const string StateBusy = "Busy"; |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// Idle state for BusyIndicator.
|
||||
|
/// </summary>
|
||||
|
public const string StateIdle = "Idle"; |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// BusyDisplay group.
|
||||
|
/// </summary>
|
||||
|
public const string GroupVisibility = "VisibilityStates"; |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// Visible state name for BusyIndicator.
|
||||
|
/// </summary>
|
||||
|
public const string StateVisible = "Visible"; |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// Hidden state name for BusyIndicator.
|
||||
|
/// </summary>
|
||||
|
public const string StateHidden = "Hidden"; |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,95 @@ |
|||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||
|
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |
||||
|
<PropertyGroup> |
||||
|
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> |
||||
|
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> |
||||
|
<ProductVersion>8.0.30703</ProductVersion> |
||||
|
<SchemaVersion>2.0</SchemaVersion> |
||||
|
<ProjectGuid>{72E591D6-8F83-4D8C-8F67-9C325E623234}</ProjectGuid> |
||||
|
<OutputType>library</OutputType> |
||||
|
<AppDesignerFolder>Properties</AppDesignerFolder> |
||||
|
<RootNamespace>Microsoft.Windows.Controls</RootNamespace> |
||||
|
<AssemblyName>WPFToolkit.Extended</AssemblyName> |
||||
|
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion> |
||||
|
<TargetFrameworkProfile>Client</TargetFrameworkProfile> |
||||
|
<FileAlignment>512</FileAlignment> |
||||
|
<ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> |
||||
|
<WarningLevel>4</WarningLevel> |
||||
|
<SccProjectName>SAK</SccProjectName> |
||||
|
<SccLocalPath>SAK</SccLocalPath> |
||||
|
<SccAuxPath>SAK</SccAuxPath> |
||||
|
<SccProvider>SAK</SccProvider> |
||||
|
</PropertyGroup> |
||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> |
||||
|
<DebugSymbols>true</DebugSymbols> |
||||
|
<DebugType>full</DebugType> |
||||
|
<Optimize>false</Optimize> |
||||
|
<OutputPath>bin\Debug\</OutputPath> |
||||
|
<DefineConstants>DEBUG;TRACE</DefineConstants> |
||||
|
<ErrorReport>prompt</ErrorReport> |
||||
|
<WarningLevel>4</WarningLevel> |
||||
|
</PropertyGroup> |
||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> |
||||
|
<DebugType>pdbonly</DebugType> |
||||
|
<Optimize>true</Optimize> |
||||
|
<OutputPath>bin\Release\</OutputPath> |
||||
|
<DefineConstants>TRACE</DefineConstants> |
||||
|
<ErrorReport>prompt</ErrorReport> |
||||
|
<WarningLevel>4</WarningLevel> |
||||
|
</PropertyGroup> |
||||
|
<ItemGroup> |
||||
|
<Reference Include="System" /> |
||||
|
<Reference Include="System.Data" /> |
||||
|
<Reference Include="System.Xml" /> |
||||
|
<Reference Include="Microsoft.CSharp" /> |
||||
|
<Reference Include="System.Core" /> |
||||
|
<Reference Include="System.Xml.Linq" /> |
||||
|
<Reference Include="System.Data.DataSetExtensions" /> |
||||
|
<Reference Include="System.Xaml"> |
||||
|
<RequiredTargetFramework>4.0</RequiredTargetFramework> |
||||
|
</Reference> |
||||
|
<Reference Include="WindowsBase" /> |
||||
|
<Reference Include="PresentationCore" /> |
||||
|
<Reference Include="PresentationFramework" /> |
||||
|
</ItemGroup> |
||||
|
<ItemGroup> |
||||
|
<Page Include="Themes\Generic.xaml"> |
||||
|
<Generator>MSBuild:Compile</Generator> |
||||
|
<SubType>Designer</SubType> |
||||
|
</Page> |
||||
|
</ItemGroup> |
||||
|
<ItemGroup> |
||||
|
<Compile Include="BusyIndicator\BusyIndicator.cs" /> |
||||
|
<Compile Include="Properties\AssemblyInfo.cs"> |
||||
|
<SubType>Code</SubType> |
||||
|
</Compile> |
||||
|
<Compile Include="Properties\Resources.Designer.cs"> |
||||
|
<AutoGen>True</AutoGen> |
||||
|
<DesignTime>True</DesignTime> |
||||
|
<DependentUpon>Resources.resx</DependentUpon> |
||||
|
</Compile> |
||||
|
<Compile Include="Properties\Settings.Designer.cs"> |
||||
|
<AutoGen>True</AutoGen> |
||||
|
<DependentUpon>Settings.settings</DependentUpon> |
||||
|
<DesignTimeSharedInput>True</DesignTimeSharedInput> |
||||
|
</Compile> |
||||
|
<Compile Include="VisualStates.cs" /> |
||||
|
<EmbeddedResource Include="Properties\Resources.resx"> |
||||
|
<Generator>ResXFileCodeGenerator</Generator> |
||||
|
<LastGenOutput>Resources.Designer.cs</LastGenOutput> |
||||
|
</EmbeddedResource> |
||||
|
<None Include="Properties\Settings.settings"> |
||||
|
<Generator>SettingsSingleFileGenerator</Generator> |
||||
|
<LastGenOutput>Settings.Designer.cs</LastGenOutput> |
||||
|
</None> |
||||
|
<AppDesigner Include="Properties\" /> |
||||
|
</ItemGroup> |
||||
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> |
||||
|
<!-- To modify your build process, add your task inside one of the targets below and uncomment it. |
||||
|
Other similar extension points exist, see Microsoft.Common.targets. |
||||
|
<Target Name="BeforeBuild"> |
||||
|
</Target> |
||||
|
<Target Name="AfterBuild"> |
||||
|
</Target> |
||||
|
--> |
||||
|
</Project> |
||||
@ -0,0 +1,10 @@ |
|||||
|
"" |
||||
|
{ |
||||
|
"FILE_VERSION" = "9237" |
||||
|
"ENLISTMENT_CHOICE" = "NEVER" |
||||
|
"PROJECT_FILE_RELATIVE_PATH" = "" |
||||
|
"NUMBER_OF_EXCLUDED_FILES" = "0" |
||||
|
"ORIGINAL_PROJECT_FILE_PATH" = "" |
||||
|
"NUMBER_OF_NESTED_PROJECTS" = "0" |
||||
|
"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER" |
||||
|
} |
||||
Loading…
Reference in new issue