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