diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/AutoSelectTextboxView.xaml.txt b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/AutoSelectTextboxView.xaml.txt
index ac46af47..c0cf3019 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/AutoSelectTextboxView.xaml.txt
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/AutoSelectTextboxView.xaml.txt
@@ -24,7 +24,7 @@
The AutoSelectTextBox allows the text content to be selected when the control get the focus. It also allows the Focus navigation behavior within the control to be affected.
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/ChartSeriesDataPointsBindingView.xaml.cs.txt b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/ChartSeriesDataPointsBindingView.xaml.cs.txt
index dacba313..9c549f3f 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/ChartSeriesDataPointsBindingView.xaml.cs.txt
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/ChartSeriesDataPointsBindingView.xaml.cs.txt
@@ -14,6 +14,9 @@
************************************************************************************/
+#if !OPEN_SOURCE
+using Xceed.Wpf.Toolkit.Chart;
+#endif
using System.Windows.Media;
using System;
using System.Collections.ObjectModel;
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/ChartSeriesDataPointsBindingView.xaml.txt b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/ChartSeriesDataPointsBindingView.xaml.txt
index c11f1e33..08fb734a 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/ChartSeriesDataPointsBindingView.xaml.txt
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/ChartSeriesDataPointsBindingView.xaml.txt
@@ -26,17 +26,57 @@
The DataPoint objects of a chart's series can be set by binding with the Series.DataPointsSource property. From there, a DataPointBinding can be set on the X, Y, or Label property of a DataPoint.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
+
+
+
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/ChartStylingAxesGridView.xaml.cs.txt b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/ChartStylingAxesGridView.xaml.cs.txt
index 96e9f1da..bbed5474 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/ChartStylingAxesGridView.xaml.cs.txt
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/ChartStylingAxesGridView.xaml.cs.txt
@@ -14,6 +14,9 @@
************************************************************************************/
+#if !OPEN_SOURCE
+using Xceed.Wpf.Toolkit.Chart;
+#endif
using System.Windows.Media;
using System.Windows.Controls;
using System;
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/ChartStylingAxesGridView.xaml.txt b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/ChartStylingAxesGridView.xaml.txt
index 00aeb311..8b08a8c1 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/ChartStylingAxesGridView.xaml.txt
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/ChartStylingAxesGridView.xaml.txt
@@ -24,32 +24,178 @@
This sample shows how AxesGrid elements can be styled using a DataTemplate.
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/ChartStylingColumnSeriesView.xaml.cs.txt b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/ChartStylingColumnSeriesView.xaml.cs.txt
index a5b056fb..e48d1c68 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/ChartStylingColumnSeriesView.xaml.cs.txt
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/ChartStylingColumnSeriesView.xaml.cs.txt
@@ -14,6 +14,9 @@
*************************************************************************************/
+#if !OPEN_SOURCE
+using Xceed.Wpf.Toolkit.Chart;
+#endif
using System.Windows.Media;
using System.Windows.Controls;
using System.Diagnostics;
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/ChartStylingColumnSeriesView.xaml.txt b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/ChartStylingColumnSeriesView.xaml.txt
index 4120ecf1..cd939cd6 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/ChartStylingColumnSeriesView.xaml.txt
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/ChartStylingColumnSeriesView.xaml.txt
@@ -25,26 +25,175 @@
This sample shows how a series with a column layout type and a legend can be styled using DataTemplates.
-
+
+ Please move mouse on line and markers to see simple effects.
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/ChartStylingLineSeriesView.xaml.cs.txt b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/ChartStylingLineSeriesView.xaml.cs.txt
index cdbf9fc2..9a8b4980 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/ChartStylingLineSeriesView.xaml.cs.txt
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/ChartStylingLineSeriesView.xaml.cs.txt
@@ -14,6 +14,9 @@
*************************************************************************************/
+#if !OPEN_SOURCE
+using Xceed.Wpf.Toolkit.Chart;
+#endif
using System.Windows.Media;
using System.Windows.Controls;
using System.Windows;
@@ -31,7 +34,16 @@ namespace Xceed.Wpf.Toolkit.LiveExplorer.Samples.Chart.Views
InitializeComponent();
}
+#if !OPEN_SOURCE
+ #region Event Handler
+ private void LegendButtonClick( object sender, RoutedEventArgs e )
+ {
+ Random r = new Random();
+ _series.DataPoints.Add( new DataPoint( _series.DataPoints.Count, r.NextDouble() ) );
+ }
+ #endregion
+#endif
}
}
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/ChartStylingLineSeriesView.xaml.txt b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/ChartStylingLineSeriesView.xaml.txt
index 4a996788..e7d03e42 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/ChartStylingLineSeriesView.xaml.txt
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/ChartStylingLineSeriesView.xaml.txt
@@ -24,23 +24,144 @@
This sample demonstrates how a series with a line layout type and a legend can be styled via DataTemplates. The legend contains a button to add new DataPoints.
-
+
+ Please move mouse along the line and over the markers to see simple effects.
+
+
+
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/ChartStylingPieSeriesView.xaml.cs.txt b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/ChartStylingPieSeriesView.xaml.cs.txt
index 8b1365f3..154b4e7c 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/ChartStylingPieSeriesView.xaml.cs.txt
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/ChartStylingPieSeriesView.xaml.cs.txt
@@ -14,6 +14,9 @@
*************************************************************************************/
+#if !OPEN_SOURCE
+using Xceed.Wpf.Toolkit.Chart;
+#endif
using System.Windows.Media;
using System.Windows.Controls;
using System;
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/ChartStylingPieSeriesView.xaml.txt b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/ChartStylingPieSeriesView.xaml.txt
index b60616cb..213c176e 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/ChartStylingPieSeriesView.xaml.txt
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/ChartStylingPieSeriesView.xaml.txt
@@ -24,26 +24,175 @@
This sample demonstrates how a series with a pie layout type can be styled via DataTemplates. The series, hint line, and hint label are all styled.
+
+ Please move the mouse over the pie slices to view the tooltips of the pie layout DataTemplate.
+
+
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+ Mary
+ Brad
+ Anne
+ Eric
+ Lisa
+ Carl
+ Whole Team
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/CheckListsView.xaml.txt b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/CheckListsView.xaml.txt
index c1699b5f..d1921924 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/CheckListsView.xaml.txt
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/CheckListsView.xaml.txt
@@ -26,7 +26,7 @@
The CheckListBox and CheckComboBox controls represent a list of selected items that are displayed as CheckBoxes. Besides the common SelectedItem and SelectedItems properties, these controls give developers more alternatives for managing and handling selections.
-
+
ID
@@ -34,7 +34,7 @@
LastName
-
+
@@ -56,7 +56,7 @@
-
+
@@ -98,7 +98,7 @@
HorizontalAlignment="Left"
IsEnabled="False"
Text="IsSelected" />
-
+
@@ -137,12 +137,12 @@
-
+
-
+
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/ChildWindowView.xaml.txt b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/ChildWindowView.xaml.txt
index ac449232..05fba530 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/ChildWindowView.xaml.txt
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/ChildWindowView.xaml.txt
@@ -25,6 +25,7 @@
The ChildWindow control can be used to create a window that is displayed within the bounds of a specific parent container.
+
-
+
@@ -52,7 +54,7 @@
-
+
@@ -82,7 +84,7 @@
-
+
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/ColorView.xaml.txt b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/ColorView.xaml.txt
index 4b6182b9..b0678281 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/ColorView.xaml.txt
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/ColorView.xaml.txt
@@ -39,7 +39,7 @@
-
+
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/DataGridView.xaml.txt b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/DataGridView.xaml.txt
index 15a1eb35..ee3841e4 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/DataGridView.xaml.txt
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/DataGridView.xaml.txt
@@ -33,12 +33,12 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -147,7 +147,7 @@
-
+
@@ -155,7 +155,7 @@
-
+
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/DateTimeView.xaml.txt b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/DateTimeView.xaml.txt
index a4220619..6f0c61d2 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/DateTimeView.xaml.txt
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/DateTimeView.xaml.txt
@@ -27,7 +27,7 @@
The DateTimePicker and TimePicker controls let you select the date and the time in several ways. The TimePicker is used in the DateTimePicker.
-
+
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/DisplayLocalizationRes.Designer.cs.txt b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/DisplayLocalizationRes.Designer.cs.txt
index 667ee531..34a83eec 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/DisplayLocalizationRes.Designer.cs.txt
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/DisplayLocalizationRes.Designer.cs.txt
@@ -10,8 +10,8 @@
namespace Xceed.Wpf.Toolkit.LiveExplorer.Samples.PropertyGrid.Views {
using System;
-
-
+
+
///
/// A strongly-typed resource class, for looking up localized strings, etc.
///
@@ -23,15 +23,15 @@ namespace Xceed.Wpf.Toolkit.LiveExplorer.Samples.PropertyGrid.Views {
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class DisplayLocalizationRes {
-
+
private static global::System.Resources.ResourceManager resourceMan;
-
+
private static global::System.Globalization.CultureInfo resourceCulture;
-
+
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal DisplayLocalizationRes() {
}
-
+
///
/// Returns the cached ResourceManager instance used by this class.
///
@@ -45,7 +45,7 @@ namespace Xceed.Wpf.Toolkit.LiveExplorer.Samples.PropertyGrid.Views {
return resourceMan;
}
}
-
+
///
/// Overrides the current thread's CurrentUICulture property for all
/// resource lookups using this strongly typed resource class.
@@ -59,7 +59,7 @@ namespace Xceed.Wpf.Toolkit.LiveExplorer.Samples.PropertyGrid.Views {
resourceCulture = value;
}
}
-
+
///
/// Looks up a localized string similar to Details.
///
@@ -68,7 +68,7 @@ namespace Xceed.Wpf.Toolkit.LiveExplorer.Samples.PropertyGrid.Views {
return ResourceManager.GetString("DetailsCategory", resourceCulture);
}
}
-
+
///
/// Looks up a localized string similar to Favorite actor 1 (no DisplayName).
///
@@ -77,7 +77,7 @@ namespace Xceed.Wpf.Toolkit.LiveExplorer.Samples.PropertyGrid.Views {
return ResourceManager.GetString("FavoriteActor1", resourceCulture);
}
}
-
+
///
/// Looks up a localized string similar to This property's type is an enum whose values have no DisplayName attributes. These values displayed are provided by the ToString() method..
///
@@ -86,7 +86,7 @@ namespace Xceed.Wpf.Toolkit.LiveExplorer.Samples.PropertyGrid.Views {
return ResourceManager.GetString("FavoriteActor1Desc", resourceCulture);
}
}
-
+
///
/// Looks up a localized string similar to Favorite actor 2 (with DisplayName).
///
@@ -95,7 +95,7 @@ namespace Xceed.Wpf.Toolkit.LiveExplorer.Samples.PropertyGrid.Views {
return ResourceManager.GetString("FavoriteActor2", resourceCulture);
}
}
-
+
///
/// Looks up a localized string similar to This property's type is an enum whose values are decorated with the ExtendedDisplayName attribute. Combined with the EnumDisplayNameConverter, this allows display values to be customized..
///
@@ -104,7 +104,7 @@ namespace Xceed.Wpf.Toolkit.LiveExplorer.Samples.PropertyGrid.Views {
return ResourceManager.GetString("FavoriteActor2Desc", resourceCulture);
}
}
-
+
///
/// Looks up a localized string similar to Favorite actor 3.
///
@@ -113,7 +113,7 @@ namespace Xceed.Wpf.Toolkit.LiveExplorer.Samples.PropertyGrid.Views {
return ResourceManager.GetString("FavoriteActor3", resourceCulture);
}
}
-
+
///
/// Looks up a localized string similar to "(Not listed)" enum value shows that enum values can also be localized..
///
@@ -122,7 +122,7 @@ namespace Xceed.Wpf.Toolkit.LiveExplorer.Samples.PropertyGrid.Views {
return ResourceManager.GetString("FavoriteActor3Desc", resourceCulture);
}
}
-
+
///
/// Looks up a localized string similar to First name.
///
@@ -131,7 +131,7 @@ namespace Xceed.Wpf.Toolkit.LiveExplorer.Samples.PropertyGrid.Views {
return ResourceManager.GetString("FirstName", resourceCulture);
}
}
-
+
///
/// Looks up a localized string similar to First name of that person.
///
@@ -140,7 +140,7 @@ namespace Xceed.Wpf.Toolkit.LiveExplorer.Samples.PropertyGrid.Views {
return ResourceManager.GetString("FirstNameDesc", resourceCulture);
}
}
-
+
///
/// Looks up a localized string similar to Information.
///
@@ -149,7 +149,7 @@ namespace Xceed.Wpf.Toolkit.LiveExplorer.Samples.PropertyGrid.Views {
return ResourceManager.GetString("InfoCategory", resourceCulture);
}
}
-
+
///
/// Looks up a localized string similar to Last name.
///
@@ -158,7 +158,7 @@ namespace Xceed.Wpf.Toolkit.LiveExplorer.Samples.PropertyGrid.Views {
return ResourceManager.GetString("LastName", resourceCulture);
}
}
-
+
///
/// Looks up a localized string similar to Usually the familly name of the person.
///
@@ -167,7 +167,7 @@ namespace Xceed.Wpf.Toolkit.LiveExplorer.Samples.PropertyGrid.Views {
return ResourceManager.GetString("LastNameDesc", resourceCulture);
}
}
-
+
///
/// Looks up a localized string similar to (Not listed).
///
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/DisplayLocalizationRes.fr.resx.txt b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/DisplayLocalizationRes.fr.resx.txt
deleted file mode 100644
index c162964d..00000000
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/DisplayLocalizationRes.fr.resx.txt
+++ /dev/null
@@ -1,159 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- Détails
-
-
- Acteur favori 1 (aucun DisplayName)
-
-
- Le type de cette propriété est un enum où les valeurs n'ont aucun attribut "DisplayName". Les valeurs affichées sont retournées par la méthode ToString().
-
-
- Acteur favori 2 (avec DisplayName)
-
-
- Le type de cette propriété est un enum où les valeurs sont décorés avec l'attribut "DisplayName". Les valeurs affichées sont celles spécifiées par l'attribut ExtendedDisplayName.
-
-
- Acteur favori 3
-
-
- La valeur "(Non proposé)" démontre que les valeurs des enums peuvent aussi être localisées.
-
-
- Prénom
-
-
- Prénom de la personne
-
-
- Information
-
-
- Nom de famille
-
-
- Le nom de famille de la personne
-
-
- (Non proposé)
-
-
\ No newline at end of file
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/DisplayLocalizationRes.resx.txt b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/DisplayLocalizationRes.resx.txt
deleted file mode 100644
index d4a8948e..00000000
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/DisplayLocalizationRes.resx.txt
+++ /dev/null
@@ -1,159 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- Details
-
-
- Favorite actor 1 (no DisplayName)
-
-
- This property's type is an enum whose values have no DisplayName attributes. These values displayed are provided by the ToString() method.
-
-
- Favorite actor 2 (with DisplayName)
-
-
- This property's type is an enum whose values are decorated with the ExtendedDisplayName attribute. Combined with the EnumDisplayNameConverter, this allows display values to be customized.
-
-
- Favorite actor 3
-
-
- "(Not listed)" enum value shows that enum values can also be localized.
-
-
- First name
-
-
- First name of that person
-
-
- Information
-
-
- Last name
-
-
- Usually the familly name of the person
-
-
- (Not listed)
-
-
\ No newline at end of file
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/DropDownSplitButtonView.xaml.txt b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/DropDownSplitButtonView.xaml.txt
index 38766929..ff4ddb78 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/DropDownSplitButtonView.xaml.txt
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/DropDownSplitButtonView.xaml.txt
@@ -27,7 +27,7 @@
The SplitButton control is a button that can be clicked and also provides a drop down in which you can place any custom content within.
-
+
@@ -53,7 +53,7 @@
-
+
Supports implicit styles, so the entire listbox can be styled in minutes with a couple of lines of code. Also supports explicit styles and Expression Blend.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ShipName
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/MagnifierView.xaml.txt b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/MagnifierView.xaml.txt
index 1d3bbfbf..c4402ccd 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/MagnifierView.xaml.txt
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/MagnifierView.xaml.txt
@@ -27,7 +27,7 @@
The Magnifier control allows the user to magnify parts of an application.
-
+
@@ -39,7 +39,7 @@
-
+
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/MaskedTextboxView.xaml.txt b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/MaskedTextboxView.xaml.txt
index 6d771495..e4169dad 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/MaskedTextboxView.xaml.txt
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/MaskedTextboxView.xaml.txt
@@ -25,7 +25,7 @@
The MaskedTextBox control lets you display and edit values based on a mask.
-
+
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/MultiColumnComboBoxView.xaml.cs.txt b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/MultiColumnComboBoxView.xaml.cs.txt
index a3d3a426..884cdd56 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/MultiColumnComboBoxView.xaml.cs.txt
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/MultiColumnComboBoxView.xaml.cs.txt
@@ -30,9 +30,32 @@ namespace Xceed.Wpf.Toolkit.LiveExplorer.Samples.DataGrid.Views
{
public MultiColumnComboBoxView()
{
+#if !OPEN_SOURCE
+ this.DataContext = SampleDataProvider.GetOrders();
+#endif
InitializeComponent();
}
-
+#if !OPEN_SOURCE
+ private void OnGroupCheck( object sender, System.Windows.RoutedEventArgs e )
+ {
+ DataGridCollectionView collectionView = ( DataGridCollectionView )_combo.ItemsSource;
+ bool isChecked = ( ( CheckBox )sender ).IsChecked.GetValueOrDefault( false );
+ bool isGrouped = ( collectionView.GroupDescriptions.Count > 0 );
+
+ if( isGrouped != isChecked )
+ {
+ if( isChecked )
+ {
+ collectionView.GroupDescriptions.Add( new PropertyGroupDescription( "ShipCountry" ) );
+ collectionView.GroupDescriptions.Add( new PropertyGroupDescription( "ShipCity" ) );
+ }
+ else
+ {
+ collectionView.GroupDescriptions.Clear();
+ }
+ }
+ }
+#endif
}
}
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/MultiColumnComboBoxView.xaml.txt b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/MultiColumnComboBoxView.xaml.txt
index b2e8ec7f..e693c54e 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/MultiColumnComboBoxView.xaml.txt
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/MultiColumnComboBoxView.xaml.txt
@@ -24,25 +24,137 @@
The multi-column combo box uses the power of Xceed's datagrid control to create an advanced ComboBox.
+
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/MultiLineTextEditorView.xaml.txt b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/MultiLineTextEditorView.xaml.txt
index 354376cb..aecedc3e 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/MultiLineTextEditorView.xaml.txt
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/MultiLineTextEditorView.xaml.txt
@@ -26,7 +26,7 @@
The MultiLineTextEditor is a TextBox that allows you to edit text that is too long to display in a regular TextBox. The popup is resizable to accommodate any text.
-
+
-
+
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/NumericView.xaml.txt b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/NumericView.xaml.txt
index 8a447fa8..e0cf4f26 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/NumericView.xaml.txt
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/NumericView.xaml.txt
@@ -35,7 +35,7 @@
All these numeric types support the following properties.
-
+
@@ -69,12 +69,12 @@
-
+
Infinity and -Infinity input will not be accepted if Maximum and/or Minimum values does not allow them.
HexNumber is not a valid choice when used with a DoubleUpDown (current control used in this sample). It will work with the following controls: IntegerUpDown, ByteUpDown, LongUpDown, and ShortUpDown.
-
+
@@ -105,7 +105,7 @@
-
+
@@ -125,7 +125,7 @@
-
+
@@ -160,7 +160,7 @@
-
+
@@ -189,11 +189,11 @@
DefaultValue="10"
Value="25" />
-
+
-
+
@@ -202,7 +202,7 @@
-
+
-
-
+
+
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PieProgressView.xaml.txt b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PieProgressView.xaml.txt
index da4df72f..4475583c 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PieProgressView.xaml.txt
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PieProgressView.xaml.txt
@@ -24,7 +24,7 @@
The Pie control properties can be animated to create various effects and controls like this circular progress bar.
-
+
@@ -69,7 +69,7 @@
-
+
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PieView.xaml.txt b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PieView.xaml.txt
index 5c2a70fa..dc250f1e 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PieView.xaml.txt
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PieView.xaml.txt
@@ -25,7 +25,7 @@
The Pie shape is a WPF shape that represents a portion of an ellipse. It is in the same shape as a slice of pie (hence the name). More precisely, the Pie shape is represented as either a full ellipse (Slice = 1.0), nothing (Slice = 0.0), or an arc of an ellipse joined to its center by two line segments.
-
+
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PileFlowPanelView.xaml.cs.txt b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PileFlowPanelView.xaml.cs.txt
index cc6bb27f..7f0affb6 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PileFlowPanelView.xaml.cs.txt
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PileFlowPanelView.xaml.cs.txt
@@ -37,30 +37,140 @@ namespace Xceed.Wpf.Toolkit.LiveExplorer.Samples.PileFlowPanel.Views
public PileFlowPanelView()
{
+#if !OPEN_SOURCE
+ this.DataContext = SampleDataProvider.SharedEmployees;
+#endif
InitializeComponent();
-
+#if !OPEN_SOURCE
+ _pileFlowPanel.PileFlowItemActivated += new Xceed.Wpf.Toolkit.PileFlowPanel.PileFlowItemActivatedHandler( this.PileFlowItemActivated );
+ _pileFlowPanel.PileFlowItemDeactivated += new Xceed.Wpf.Toolkit.PileFlowPanel.PileFlowItemDeactivatedHandler( this.PileFlowItemDeactivated );
+
+ ObservableCollection products = SampleDataProvider.GetProducts();
+ foreach( Product product in products )
+ {
+ this.AddImage( product );
+ }
+#endif
}
#endregion
+#if !OPEN_SOURCE
+ #region Event Handlers
+ private void PileFlowItemActivated( object sender, Xceed.Wpf.Toolkit.PileFlowPanel.PileFlowActivationEventArgs e )
+ {
+ //# Modify the text label.
+ _pileFlowPanel.ContentLabel.Visibility = Visibility.Visible;
+ _pileFlowLabel.Text = e.Item.Element.Tag as string;
+
+ //# Enable the first PileFlowItem.
+ if( object.Equals( ( ( PileFlowItem )sender ).Element, _employeesPileFlowCard ) )
+ {
+ _employeeListBox.IsEnabled = true;
+ }
+ }
+ private void PileFlowItemDeactivated( object sender, EventArgs e )
+ {
+ //# Hide the text Label.
+ _pileFlowPanel.ContentLabel.Visibility = Visibility.Collapsed;
+ _pileFlowLabel.Text = null;
+
+ //# Enable the first PileFlowItem.
+ if( object.Equals( ( ( PileFlowItem )sender ).Element, _employeesPileFlowCard ) )
+ {
+ _employeeListBox.IsEnabled = false;
+ }
+ }
+ private void OnEmployeeButtonPress( object sender, EventArgs e )
+ {
+ Xceed.Wpf.Toolkit.MessageBox.Show( "Employee data has been saved.", "Employee", MessageBoxButton.OK, MessageBoxImage.Asterisk);
+ }
+ private void OnShowReflectionsClick( object sender, RoutedEventArgs e )
+ {
+ CheckBox checkBox = ( CheckBox )sender;
+ foreach( UIElement item in _pileFlowPanel.Children )
+ {
+ if( item is PileFlowCard )
+ {
+ (( PileFlowCard )item).ShowReflection = ( bool )checkBox.IsChecked;
+ }
+ }
+ }
+ private void OnBeginReflectionOpacityChanged( object sender, RoutedPropertyChangedEventArgs
-
+
-
+
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridBindingToStructsView.xaml.txt b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridBindingToStructsView.xaml.txt
index 31a8c22d..f7cafe06 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridBindingToStructsView.xaml.txt
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridBindingToStructsView.xaml.txt
@@ -31,13 +31,13 @@
-
+
-
+
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridCategoryOrderView.xaml.txt b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridCategoryOrderView.xaml.txt
index cd4bbe4b..6131d736 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridCategoryOrderView.xaml.txt
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridCategoryOrderView.xaml.txt
@@ -31,7 +31,7 @@
The PropertyGrid on the right uses the CategoryOrder attribute to order the categories in the desired order.
-
+
@@ -43,7 +43,7 @@
-
+
@@ -53,7 +53,7 @@
-
+
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridCustomEditorsView.xaml.txt b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridCustomEditorsView.xaml.txt
index 56e70b4d..95deb678 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridCustomEditorsView.xaml.txt
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridCustomEditorsView.xaml.txt
@@ -27,7 +27,7 @@
This example demonstrates the various methods of assigning custom editors to the properties. You can supply your own editor DataTemplate based on a Type, a property name, or both. To supply your own editor for a property, you must create an EditorDefinition for the PropertyGrid.
-
+
@@ -56,7 +56,7 @@
-
+
@@ -43,7 +45,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridDefaultEditorsView.xaml.txt b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridDefaultEditorsView.xaml.txt
index e5283e14..b9151287 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridDefaultEditorsView.xaml.txt
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridDefaultEditorsView.xaml.txt
@@ -28,7 +28,7 @@
IList<T> (primtive type), IList<T> (custom type),
-
+
-
+
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridDefinitionKeyView.xaml.cs.txt b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridDefinitionKeyView.xaml.cs.txt
index 980d8057..f02807fe 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridDefinitionKeyView.xaml.cs.txt
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridDefinitionKeyView.xaml.cs.txt
@@ -28,8 +28,26 @@ namespace Xceed.Wpf.Toolkit.LiveExplorer.Samples.PropertyGrid.Views
public PropertyGridDefinitionKeyView()
{
InitializeComponent();
-
+#if !OPEN_SOURCE
+ var person = new Person();
+ person.FirstName = "John";
+ person.LastName = "Smith";
+ person.ReferenceNo = 252521;
+
+ this.DataContext = person;
+#endif
}
+#if !OPEN_SOURCE
+ private class Person
+ {
+ [DefinitionKey( "nameType" )]
+ public string FirstName { get; set; }
+ [DefinitionKey( "nameType" )]
+ public string LastName { get; set; }
+ [DefinitionKey( typeof( int? ) )]
+ public object ReferenceNo { get; set; }
+ }
+#endif
}
}
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridDefinitionKeyView.xaml.txt b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridDefinitionKeyView.xaml.txt
index d9cef003..322fe087 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridDefinitionKeyView.xaml.txt
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridDefinitionKeyView.xaml.txt
@@ -32,6 +32,7 @@
It can also be used to specify a specific default editor when a property type does not resolve to a valid editor (e.g., Object).
+
@@ -54,7 +56,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridDisplayLocalizationView.xaml.cs.txt b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridDisplayLocalizationView.xaml.cs.txt
index 00daed47..4607eeac 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridDisplayLocalizationView.xaml.cs.txt
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridDisplayLocalizationView.xaml.cs.txt
@@ -20,6 +20,9 @@ using System.ComponentModel;
using System.Windows;
using System.Windows.Media;
using Xceed.Wpf.Toolkit.PropertyGrid.Attributes;
+#if !OPEN_SOURCE
+using Xceed.Wpf.Toolkit.Core.Attributes;
+#endif
using Xceed.Wpf.Toolkit.Core;
using System.Windows.Controls;
using System.Globalization;
@@ -38,16 +41,90 @@ namespace Xceed.Wpf.Toolkit.LiveExplorer.Samples.PropertyGrid.Views
public PropertyGridDisplayLocalizationView()
{
InitializeComponent();
-
+#if !OPEN_SOURCE
+ var person = new Person();
+ person.FirstName = "John";
+ person.LastName = "Doe";
+ person.FavoriteActor1 = ActorNoDisplayName.billcosby;
+ person.FavoriteActor2 = ActorWithDisplayName.bradpitt;
+ person.FavoriteActor3 = ActorWithDisplayName.NotInThisList;
+
+ _propertyGrid.SelectedObject = person;
+#endif
}
+#if !OPEN_SOURCE
+ private void ComboBox_SelectionChanged( object sender, System.Windows.Controls.SelectionChangedEventArgs e )
+ {
+ DisplayLocalizationRes.Culture = object.Equals(( ( ComboBox )sender ).SelectedItem,"French" )
+ ? new CultureInfo( "fr" )
+ : CultureInfo.InvariantCulture;
+
+ // This will refresh the PropertyGrid.
+ if( _propertyGrid != null )
+ {
+ var selected = _propertyGrid.SelectedObject;
+ _propertyGrid.SelectedObject = null;
+ _propertyGrid.SelectedObject = selected;
+ }
+ }
-
-
-
-
-
-
-
+ public enum ActorNoDisplayName
+ {
+ alpacino,
+ arnoldschwarzenegger,
+ benaffleck,
+ billcosby,
+ bradpitt,
+ NotInThisList
+ };
+
+ [TypeConverter(typeof(EnumDisplayNameConverter))]
+ public enum ActorWithDisplayName
+ {
+ [ExtendedDisplayName( "Al Pacino" )]
+ alpacino,
+ [ExtendedDisplayName( "Arnold Schwarzenegger" )]
+ arnoldschwarzenegger,
+ [ExtendedDisplayName( "Ben Affleck" )]
+ benaffleck,
+ [ExtendedDisplayName( "Bill Cosby" )]
+ billcosby,
+ [ExtendedDisplayName( "Brad Pitt" )]
+ bradpitt,
+ [LocalizedDisplayName( "NotListed", typeof(DisplayLocalizationRes) )]
+ NotInThisList
+ };
+
+ [CategoryOrder( "InfoCategory", 1 )]
+ [CategoryOrder( "DetailsCategory", 2 )]
+ public class Person
+ {
+ [LocalizedDisplayName( "FirstName", typeof( DisplayLocalizationRes ) )]
+ [LocalizedDescription( "FirstNameDesc", typeof( DisplayLocalizationRes ) )]
+ [LocalizedCategory( "InfoCategory", typeof( DisplayLocalizationRes ) )]
+ public string FirstName { get; set; }
+
+ [LocalizedDisplayName( "LastName", typeof( DisplayLocalizationRes ) )]
+ [LocalizedDescription( "LastNameDesc", typeof( DisplayLocalizationRes ) )]
+ [LocalizedCategory( "InfoCategory", typeof( DisplayLocalizationRes ) )]
+ public string LastName { get; set; }
+
+ [LocalizedDisplayName( "FavoriteActor1", typeof( DisplayLocalizationRes ) )]
+ [LocalizedDescription( "FavoriteActor1Desc", typeof( DisplayLocalizationRes ) )]
+ [LocalizedCategory( "DetailsCategory", typeof( DisplayLocalizationRes ) )]
+ public ActorNoDisplayName FavoriteActor1 { get; set; }
+
+ [LocalizedDisplayName( "FavoriteActor2", typeof( DisplayLocalizationRes ) )]
+ [LocalizedDescription( "FavoriteActor2Desc", typeof( DisplayLocalizationRes ) )]
+ [LocalizedCategory( "DetailsCategory", typeof( DisplayLocalizationRes ) )]
+ public ActorWithDisplayName FavoriteActor2 { get; set; }
+
+ [LocalizedDisplayName( "FavoriteActor3", typeof( DisplayLocalizationRes ) )]
+ [LocalizedDescription( "FavoriteActor3Desc", typeof( DisplayLocalizationRes ) )]
+ [LocalizedCategory( "DetailsCategory", typeof( DisplayLocalizationRes ) )]
+ public ActorWithDisplayName FavoriteActor3 { get; set; }
+ }
+#endif
}
}
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridDisplayLocalizationView.xaml.txt b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridDisplayLocalizationView.xaml.txt
index e4c4ba6b..24eacb3b 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridDisplayLocalizationView.xaml.txt
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridDisplayLocalizationView.xaml.txt
@@ -31,17 +31,46 @@
LocalizedDisplayName, LocalizedDescription, LocalizedCategory:
Theses attributes allow to easily localize the DisplayName, Description, and Category attributes values using standard Resx resource files.
+
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ English (Default)
+ French
+
+
+
+
+
+
+
+
+
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridEditorDefinitionsView.xaml.cs.txt b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridEditorDefinitionsView.xaml.cs.txt
index 8cedd17f..23ef2bef 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridEditorDefinitionsView.xaml.cs.txt
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridEditorDefinitionsView.xaml.cs.txt
@@ -31,10 +31,55 @@ namespace Xceed.Wpf.Toolkit.LiveExplorer.Samples.PropertyGrid.Views
public PropertyGridEditorDefinitionsView()
{
InitializeComponent();
+#if !OPEN_SOURCE
+ var selectedObject = new EditorDefinitionsSampleObject();
+ selectedObject.Boolean = true;
+ selectedObject.Color = Colors.Red;
+ selectedObject.ColorCombo = Colors.Blue;
+ selectedObject.DateTime = System.DateTime.Now;
+ selectedObject.Int32 = 42;
+ selectedObject.PersonTemplate = new Person() { FirstName = "John", LastName = "Smith" };
+ selectedObject.String = "This is a string";
+ selectedObject.StringCombo = "String Value 1";
+ this.DataContext = selectedObject;
+#endif
}
+#if !OPEN_SOURCE
+ public class EditorDefinitionsSampleObject
+ {
+ [PropertyOrder( 0 )]
+ public string String { get; set; }
+ [PropertyOrder( 1 )]
+ public bool Boolean { get; set; }
+ [PropertyOrder( 2 )]
+ public int Int32 { get; set; }
+ [PropertyOrder( 3 )]
+ public System.DateTime DateTime { get; set; }
+ [PropertyOrder( 4 )]
+ public System.Windows.Media.Color Color { get; set; }
+ [PropertyOrder( 5 )]
+ public string StringCombo { get; set; }
+ [PropertyOrder( 6 )]
+ public System.Windows.Media.Color? ColorCombo { get; set; }
+ [PropertyOrder( 7 )]
+ public Person PersonTemplate { get; set; }
+ }
+ public class Person
+ {
+ public string FirstName { get; set; }
+ public string LastName { get; set; }
+ }
+#endif
+ }
+#if !OPEN_SOURCE
+ public class ColorSampleItem
+ {
+ public System.Windows.Media.Color? Color { get; set; }
+ public string DisplayString { get; set; }
}
+#endif
}
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridEditorDefinitionsView.xaml.txt b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridEditorDefinitionsView.xaml.txt
index d84c50e3..f4d58b46 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridEditorDefinitionsView.xaml.txt
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridEditorDefinitionsView.xaml.txt
@@ -23,10 +23,28 @@
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
VerticalScrollBarVisibility="Disabled"
Title="Ready-to-use EditorDefinitions">
-
-
-
-
+
+
+
+
+ String Value 1
+ String Value 2
+ String Value 3
+
+
+
+
+
+
+
+
+
+
+
+
+
Using the various EditorDefinitions provided with the PropertyGrid, you can easily customize and reuse the existing default editor to suit your needs. Style the editing element or use one of the common properties directly provided on the editor definition class. The provided editor definitions are the following:
@@ -51,6 +69,7 @@
EditorIntegerUpDownDefinition
EditorDoubleUpDownDefinition
+
etc.
@@ -66,7 +86,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridMultiSelectedObjectsView.xaml.cs.txt b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridMultiSelectedObjectsView.xaml.cs.txt
index 80e9576f..dff8282b 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridMultiSelectedObjectsView.xaml.cs.txt
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridMultiSelectedObjectsView.xaml.cs.txt
@@ -39,6 +39,9 @@ namespace Xceed.Wpf.Toolkit.LiveExplorer.Samples.PropertyGrid.Views
public PropertyGridMultiSelectedObjectsView()
{
InitializeComponent();
+#if !OPEN_SOURCE
+ _propertyGrid.SelectedObjectsOverride = new List() { _textBox, _button, _comboBox };
+#endif
}
}
}
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridMultiSelectedObjectsView.xaml.txt b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridMultiSelectedObjectsView.xaml.txt
index 56871ae5..93ffab0a 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridMultiSelectedObjectsView.xaml.txt
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridMultiSelectedObjectsView.xaml.txt
@@ -24,18 +24,51 @@
When many objects are assigned to a PropertyGrid, the PpropertyGrid will show all the common properties so that they can be changed simultaneously on each object.
+
+
+
+
+
+ Green
+ Red
+ Blue
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridPropertiesSourceView.xaml.cs.txt b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridPropertiesSourceView.xaml.cs.txt
index d60b1a0f..fc017bfb 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridPropertiesSourceView.xaml.cs.txt
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridPropertiesSourceView.xaml.cs.txt
@@ -32,10 +32,60 @@ namespace Xceed.Wpf.Toolkit.LiveExplorer.Samples.PropertyGrid.Views
public PropertyGridPropertiesSourceView()
{
InitializeComponent();
-
+#if !OPEN_SOURCE
+ var list = new ObservableCollection();
+ list.Add( new MyData( "string", "First text" ) );
+ list.Add( new MyData( "Second string", "Second text" ) );
+ list.Add( new MyData( "Color", Colors.Blue ) );
+ list.Add( new MyData( "DateTime", System.DateTime.Now ) );
+ list.Add( new MyData( "TimeSpan", System.TimeSpan.FromMinutes( 120 ) ) );
+ list.Add( new MyData( "HorizontalAlignment", System.Windows.HorizontalAlignment.Center ) );
+ list.Add( new MyData( "bool", true ) );
+ list.Add( new MyData( "decimal", ( decimal )1 ) );
+ list.Add( new MyData( "int", ( int )2 ) );
+ list.Add( new MyData( "Second int", ( int )2 ) );
+ list.Add( new MyData( "short", ( short )3 ) );
+ list.Add( new MyData( "long", ( long )4 ) );
+ list.Add( new MyData( "float", ( float )5 ) );
+ list.Add( new MyData( "byte", ( byte )6 ) );
+ list.Add( new MyData( "sbyte", ( sbyte )7 ) );
+ list.Add( new MyData( "uint", ( uint )8 ) );
+ list.Add( new MyData( "ulong", ( ulong )8 ) );
+ list.Add( new MyData( "ushort", ( ushort )10 ) );
+ list.Add( new MyData( "FontFamily", Fonts.SystemFontFamilies.First() ) );
+ list.Add( new MyData( "FontStyle", FontStyles.Italic ) );
+ list.Add( new MyData( "FontStretch", FontStretches.ExtraExpanded ) );
+ list.Add( new MyData( "TimeSpan", System.TimeSpan.FromHours( 2 ) ) );
+
+ // PropertyGrid PropertiesSource property is bound to the DataContext
+ this.DataContext = list;
+#endif
}
+#if !OPEN_SOURCE
+ private void InsertProperty( object sender, RoutedEventArgs e )
+ {
+ ( ( IList )this.DataContext ).Insert( 0, new MyData( "New string", "new data" ) );
+ }
+ private void RemoveProperty( object sender, RoutedEventArgs e )
+ {
+ if( _propertyGrid.SelectedProperty != null )
+ {
+ ( ( IList )this.DataContext ).Remove( _propertyGrid.SelectedProperty );
+ }
+ }
+ private class MyData
+ {
+ public MyData( string name, object value )
+ {
+ this.MyName = name;
+ this.MyValue = value;
+ }
+ public string MyName { get; set; }
+ public object MyValue { get; set; }
+ }
+#endif
}
}
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridPropertiesSourceView.xaml.txt b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridPropertiesSourceView.xaml.txt
index 005190ed..453a7b23 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridPropertiesSourceView.xaml.txt
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridPropertiesSourceView.xaml.txt
@@ -24,6 +24,7 @@
When setting the PropertiesSource or Properties property, you can provide your own data to be displayed in the PropertyGrid. This allows you to easily insert and remove properties at runtime. The usage scheme is similar to the one used for the standard ItemsControl.
+
-
+
@@ -43,7 +45,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
+
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridPropertiesView.xaml.cs.txt b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridPropertiesView.xaml.cs.txt
index af1de820..45e39c9e 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridPropertiesView.xaml.cs.txt
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridPropertiesView.xaml.cs.txt
@@ -34,5 +34,17 @@ namespace Xceed.Wpf.Toolkit.LiveExplorer.Samples.PropertyGrid.Views
InitializeComponent();
}
}
+#if !OPEN_SOURCE
+ public class Employee
+ {
+ public string Name { get; set; }
+ public bool IsConfirmed { get; set; }
+ public string Department { get; set; }
+ }
+ public class Representent : Employee
+ {
+ public string Details { get; set; }
+ }
+#endif
}
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridPropertiesView.xaml.txt b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridPropertiesView.xaml.txt
index 34670b7c..57db4506 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridPropertiesView.xaml.txt
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridPropertiesView.xaml.txt
@@ -28,6 +28,7 @@
The sample also demonstrate the usage of CategoryGroupDescription to control the categorization of the elements.
+
-
+
@@ -46,7 +48,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridPropertyItemStyleView.xaml.cs.txt b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridPropertyItemStyleView.xaml.cs.txt
index cbdcf8f7..06c97364 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridPropertyItemStyleView.xaml.cs.txt
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridPropertyItemStyleView.xaml.cs.txt
@@ -37,7 +37,7 @@ namespace Xceed.Wpf.Toolkit.LiveExplorer.Samples.PropertyGrid.Views
var selObject = new Person();
selObject.Friend = new Person();
-
+
this.DataContext = selObject;
}
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridPropertyItemStyleView.xaml.txt b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridPropertyItemStyleView.xaml.txt
index 76d55a91..0184db06 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridPropertyItemStyleView.xaml.txt
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridPropertyItemStyleView.xaml.txt
@@ -29,7 +29,7 @@
PreparePropertyItem event to customize the display of the PropertyGrid content.
-
+
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridSpecifyingPropertiesView.xaml.cs.txt b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridSpecifyingPropertiesView.xaml.cs.txt
index f71fd5b3..bf6ceb76 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridSpecifyingPropertiesView.xaml.cs.txt
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridSpecifyingPropertiesView.xaml.cs.txt
@@ -87,6 +87,8 @@ namespace Xceed.Wpf.Toolkit.LiveExplorer.Samples.PropertyGrid.Views
set;
}
+ //# TODODOC
+ //# Those attribute will be overrien in xaml
[Category( "Information" )]
[DisplayName( "Favorite Color" )]
[Description( "This property uses the ColorPicker as the default editor." )]
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridSpecifyingPropertiesView.xaml.txt b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridSpecifyingPropertiesView.xaml.txt
index 25690877..1194319e 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridSpecifyingPropertiesView.xaml.txt
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridSpecifyingPropertiesView.xaml.txt
@@ -26,14 +26,26 @@
By default the propertyGrid will autogenerate all the properties for a given object. You can override this behavior by setting the AutoGenerateProperties property to False, and then provide a collection of PropertyDefinitions of the properties you would like to show.
-
+
-
+
+
+
+
+
+
+
+
+
-
+
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridView.xaml.txt b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridView.xaml.txt
index a3e1dea5..5f5bf322 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridView.xaml.txt
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/PropertyGridView.xaml.txt
@@ -30,7 +30,7 @@
The PropertyGrid also supports complex properties, which allows you to drill down into a nested property hierarchy.
-
+
@@ -78,7 +78,7 @@
-
+
-
+
() { typeof( GaugePortion ) };
+ diag.ShowDialog();
+ }
+ private void BorderPortionsButton_Click( object sender, RoutedEventArgs e )
+ {
+ CollectionControlDialog diag = new CollectionControlDialog();
+ diag.ItemsSource = _gauge.BorderPortions;
+ diag.NewItemTypes = new List() { typeof( BorderGaugePortion ) };
+ diag.ShowDialog();
+ }
+ private void MarkersButton_Click( object sender, RoutedEventArgs e )
+ {
+ CollectionControlDialog diag = new CollectionControlDialog();
+ diag.ItemsSource = _gauge.Markers;
+ diag.NewItemTypes = new List() { typeof( Marker ) };
+ diag.ShowDialog();
+ }
+#endif
}
}
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/RadialGaugeView.xaml.txt b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/RadialGaugeView.xaml.txt
index 10a37706..4c6e8429 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/RadialGaugeView.xaml.txt
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/RadialGaugeView.xaml.txt
@@ -28,6 +28,7 @@
The Radial Gauge is a fully customizable gauge that can be used to display a current value on a radial or partly-radial scaled circle. Markers can be added to highlight specific values, background portions or border portions of the Radial gauge can be customized and the pointer can be animated when moving from one value to a new one.
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0,0 3,30 6,0
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0,0 1,20 2,0
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0,0 1,15 2,0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0,90 5,0 10,90
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
\ No newline at end of file
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/RangeSliderView.xaml.txt b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/RangeSliderView.xaml.txt
index 75aafa0f..1ae4be94 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/RangeSliderView.xaml.txt
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/RangeSliderView.xaml.txt
@@ -691,4 +691,4 @@
LowerRangeStyle="{x:Null}" />
-
+
\ No newline at end of file
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/RatingView.xaml.cs.txt b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/RatingView.xaml.cs.txt
index ff20b3db..46f109f8 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/RatingView.xaml.cs.txt
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/RatingView.xaml.cs.txt
@@ -30,7 +30,40 @@ namespace Xceed.Wpf.Toolkit.LiveExplorer.Samples.Rating.Views
InitializeComponent();
}
+#if !OPEN_SOURCE
+ private void ValueType_SelectionChanged( object sender, System.Windows.Controls.SelectionChangedEventArgs e )
+ {
+ if( _valueType.SelectedValue != null )
+ {
+ if( _valueType.SelectedValue.ToString() == RatingValueType.Exact.ToString() )
+ {
+ _rating.Value = 2.5;
+ _rating.ValueType = RatingValueType.Exact;
+ _value.Visibility = System.Windows.Visibility.Visible;
+ _percentage.Visibility = System.Windows.Visibility.Collapsed;
+ }
+ else
+ {
+ _rating.Value = 0.5;
+ _rating.ValueType = RatingValueType.Percentage;
+ _value.Visibility = System.Windows.Visibility.Collapsed;
+ _percentage.Visibility = System.Windows.Visibility.Visible;
+ }
+ }
+ }
+ private void RatingItemsButton_Click( object sender, System.Windows.RoutedEventArgs e )
+ {
+ CollectionControlDialog diag = new CollectionControlDialog();
+ diag.ItemsSource = _rating.Items;
+ diag.NewItemTypes = new List() { typeof( RatingItem ) };
+ diag.ShowDialog();
+ }
+ private void Rating_RatingValueChanged( object sender, System.Windows.RoutedPropertyChangedEventArgs e )
+ {
+ // add custom handling here
+ }
+#endif
}
}
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/RatingView.xaml.txt b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/RatingView.xaml.txt
index 33212c46..90314339 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/RatingView.xaml.txt
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/RatingView.xaml.txt
@@ -27,6 +27,7 @@
The Rating control fills icons to represent a value on a scale. It can be interactive and fully customizable.
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/RichTextboxView.xaml.txt b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/RichTextboxView.xaml.txt
index a5833ab8..482b5485 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/RichTextboxView.xaml.txt
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/RichTextboxView.xaml.txt
@@ -27,7 +27,7 @@
The RichTextBox is a TextBox that allows you to edit formatted text based on TextFormatters. The RichTextBoxFormatBar is a contextual formatting toolbar that mimics the behavior of the Microsoft Office 2010 formatting bar on selection.
-
+
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/StylableWindowView.xaml.cs.txt b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/StylableWindowView.xaml.cs.txt
index b8fb209e..97c60872 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/StylableWindowView.xaml.cs.txt
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/StylableWindowView.xaml.cs.txt
@@ -47,28 +47,80 @@ namespace Xceed.Wpf.Toolkit.LiveExplorer.Samples.Window.Views
private const string MessageBoxStyleKey = "messageBoxStyle";
private const string WindowControlStyleKey = "windowControlStyle";
private const string WindowButtonStyle = "FancyButtonStyle";
+#if OPEN_SOURCE
private const string StylableWindowMessage = "StylableWindow is a standalone window that can be styled just like ChildWindow or MessageBox. This is a feature of the \"Plus\" version.";
+#else
+ private const string StylableWindowNoStyleKey = "stylableWindowNoStyle";
+ private const string StylableWindowStyleKey = "stylableWindowStyle";
+ private StylableWindow _stylableWindow;
+#endif
public StylableWindowView()
{
InitializeComponent();
+#if !OPEN_SOURCE
+ this.Unloaded += new RoutedEventHandler( OnSampleUnloaded );
+#endif
this.UpdateWindowsStyles(null,null);
}
+#if !OPEN_SOURCE
+ private void OnSampleUnloaded( object sender, RoutedEventArgs e )
+ {
+ //# Be sure to close the window
+ if( _stylableWindow != null )
+ {
+ _stylableWindow.Close();
+ }
+ }
+#endif
private void OnStylableWindow_Click( object sender, RoutedEventArgs e )
{
+#if OPEN_SOURCE
var msgBox = new Xceed.Wpf.Toolkit.MessageBox();
msgBox.DataContext = this.DataContext;
msgBox.Text = StylableWindowMessage;
msgBox.Caption = StyledMsgBoxTitle;
msgBox.Style = ( _enableStyleCheckBox.IsChecked.GetValueOrDefault() ) ? ( Style )this.Resources[ MessageBoxStyleKey ] : null;
msgBox.ShowDialog();
-
-
-
+#else
+ if( _stylableWindow == null )
+ {
+ _stylableWindow = new StylableWindow();
+ _stylableWindow.Width = 500;
+ _stylableWindow.Height = 300;
+ _stylableWindow.Title = StylableWindowTitle;
+ _stylableWindow.DataContext = this.DataContext;
+ _stylableWindow.Left = Application.Current.MainWindow.Left + ( Application.Current.MainWindow.ActualWidth / 2 );
+ _stylableWindow.Top = Application.Current.MainWindow.Top + ( Application.Current.MainWindow.ActualHeight / 2 );
+ _stylableWindow.Closed += new EventHandler( OnStylableWindowClosed );
+ _stylableWindow.Topmost = true;
+
+ _stylableWindow.Content = new TextBlock()
+ {
+ Text = StylableWindowContent,
+ TextWrapping = TextWrapping.Wrap
+ };
+
+ _stylableWindow.Style = ( _enableStyleCheckBox.IsChecked.GetValueOrDefault() )
+ ? ( Style )this.Resources[ StylableWindowStyleKey ]
+ : ( Style )this.Resources[ StylableWindowNoStyleKey ];
+
+ _stylableWindow.Show();
+ }
+#endif
}
+#if !OPEN_SOURCE
+ private void OnStylableWindowClosed( object sender, EventArgs e )
+ {
+ _stylableWindow.Closed -= new EventHandler( OnStylableWindowClosed );
+ _stylableWindow.Style = null;
+ _stylableWindow.DataContext = null;
+ _stylableWindow = null;
+ }
+#endif
private void StandardMessageBoxButton_Click( object sender, RoutedEventArgs e )
{
System.Windows.MessageBox.Show( StandardMsgBoxMessage, StandardMsgBoxTitle );
@@ -98,7 +150,15 @@ namespace Xceed.Wpf.Toolkit.LiveExplorer.Samples.Window.Views
{
_childWindow.ClearValue( ChildWindow.StyleProperty );
}
-
+
+#if !OPEN_SOURCE
+ if( _stylableWindow != null )
+ {
+ _stylableWindow.Style = ( styled )
+ ? ( Style )this.Resources[ StylableWindowStyleKey ]
+ : ( Style )this.Resources[ StylableWindowNoStyleKey ];
+ }
+#endif
}
}
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/StylableWindowView.xaml.txt b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/StylableWindowView.xaml.txt
index 1d8b041e..a7de8655 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/StylableWindowView.xaml.txt
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/StylableWindowView.xaml.txt
@@ -28,10 +28,12 @@
The "Plus" version provides a new control called StylableWindow, which consists of a window that has all the functions of a normal window, but which can be styled in the same way as ChildWindow or MessageBox.
+
@@ -54,6 +56,11 @@
+
+
+
+
+
@@ -65,10 +72,34 @@
+
+
+
+
+
-
-
+
+
@@ -156,6 +189,11 @@
WindowState="Open"
CloseButtonVisibility="{Binding CloseButtonVisibility}"
WindowStyle="{Binding WindowStyle}" >
+
+
+
+
+
This is the content of the child window.
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/SwitchPanelView.xaml.cs.txt b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/SwitchPanelView.xaml.cs.txt
index 5d693f0d..97c76272 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/SwitchPanelView.xaml.cs.txt
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/SwitchPanelView.xaml.cs.txt
@@ -24,7 +24,9 @@ using Xceed.Wpf.Toolkit;
using System.Text.RegularExpressions;
using System.IO;
using System.Diagnostics;
+#if OPEN_SOURCE
using System.Windows.Media.Imaging;
+#endif
namespace Xceed.Wpf.Toolkit.LiveExplorer.Samples.Panels.Views
{
@@ -35,6 +37,9 @@ namespace Xceed.Wpf.Toolkit.LiveExplorer.Samples.Panels.Views
{
#region Members
+#if !OPEN_SOURCE
+ private DependencyObject _textBlockIdentifier;
+#endif
#endregion
@@ -47,6 +52,7 @@ namespace Xceed.Wpf.Toolkit.LiveExplorer.Samples.Panels.Views
private void OnLayoutComboSelectionChanged( object sender, RoutedEventArgs e )
{
+#if OPEN_SOURCE
ComboBox comboBox = sender as ComboBox;
bool isPlusPanel = (comboBox.SelectedIndex >= 2);
@@ -124,64 +130,524 @@ namespace Xceed.Wpf.Toolkit.LiveExplorer.Samples.Panels.Views
if( _openSourceScreenShotDesc != null )
_openSourceScreenShotDesc.Text = desc;
}
+#endif
}
private void OnSwitchPanelLayoutChanged( object sender, RoutedEventArgs e )
{
+#if !OPEN_SOURCE
+ SwitchPanel switchPanel = sender as SwitchPanel;
+ if( switchPanel.ActiveLayout is Xceed.Wpf.Toolkit.Panels.Canvas )
+ {
+ InitCanvasPanel( switchPanel );
+ }
+ else if( switchPanel.ActiveLayout is Xceed.Wpf.Toolkit.Panels.DockPanel )
+ {
+ InitDockPanel( switchPanel );
+ }
+ else if( switchPanel.ActiveLayout is Xceed.Wpf.Toolkit.Panels.Grid )
+ {
+ InitGridPanel( switchPanel );
+ }
+ else if( switchPanel.ActiveLayout is Xceed.Wpf.Toolkit.Panels.StackedStackPanel )
+ {
+ InitStackedStackPanel( switchPanel );
+ }
+ else if( switchPanel.ActiveLayout is Xceed.Wpf.Toolkit.Panels.RelativeCanvas )
+ {
+ InitRelativeCanvasPanel( switchPanel );
+ }
+ else if( switchPanel.ActiveLayout is Xceed.Wpf.Toolkit.Panels.RadialCanvas )
+ {
+ InitRadialCanvasPanel( switchPanel );
+ }
+ else if( switchPanel.ActiveLayout is Xceed.Wpf.Toolkit.Panels.CameraPanel )
+ {
+ InitCameraPanel( switchPanel );
+ }
+ else if( switchPanel.ActiveLayout is Xceed.Wpf.Toolkit.Panels.AnimatedTimelinePanel )
+ {
+ InitAnimatedTimelinePanel( switchPanel );
+ }
+#endif
}
+#if !OPEN_SOURCE
+ private void OnCanvasMoveItemComboBoxChanged( object sender, SelectionChangedEventArgs e )
+ {
+ ComboBox combo = sender as ComboBox;
+ if( ( combo == null ) || !( combo.SelectedItem is Coordinates ) )
+ {
+ throw new InvalidDataException( "ComboBox should contain a coordinate." );
+ }
+ Coordinates coordinate = combo.SelectedItem as Coordinates;
+ SetItemPositionOnCanvas( _textBlockIdentifier, coordinate.X, coordinate.Y );
+ }
+ private void OnDockComboBoxChanged( object sender, SelectionChangedEventArgs e )
+ {
+ ComboBox combo = sender as ComboBox;
+ if( ( combo != null) && (combo.SelectedItem is Dock) )
+ SetItemPositionOnDockPanel( _textBlockIdentifier, (Dock)combo.SelectedItem );
+ }
+ private void OnGridComboBoxChanged( object sender, SelectionChangedEventArgs e )
+ {
+ ComboBox combo = sender as ComboBox;
+ if( ( combo == null ) || !( combo.SelectedItem is Coordinates ) )
+ {
+ throw new InvalidDataException( "ComboBox should contain a coordinate." );
+ }
+ Coordinates coordinate = combo.SelectedItem as Coordinates;
+ SetItemPositionOnGrid( _textBlockIdentifier, (int)coordinate.X, (int)coordinate.Y );
+ }
+ private void OnStackedStackComboBoxChanged( object sender, SelectionChangedEventArgs e )
+ {
+ ComboBox combo = sender as ComboBox;
+ if( ( combo != null ) && ( combo.SelectedItem is int ) )
+ SetItemPositionOnStackedStackPanel( _textBlockIdentifier, (int)combo.SelectedItem );
+ }
+ private void OnStackedStackPanelStackLengthChanged( object sender, EventArgs e )
+ {
+ DoubleUpDown doubleUpDown = sender as DoubleUpDown;
+ if( doubleUpDown.Value.HasValue )
+ {
+ _stackedStackPanel.DefaultStackLength = double.IsNaN( doubleUpDown.Value.Value )
+ ? StackLength.Auto
+ : new StackLength( doubleUpDown.Value.Value );
+ }
+ }
+ private void OnRelativeLeftTopComboBoxChanged( object sender, SelectionChangedEventArgs e )
+ {
+ ComboBox combo = sender as ComboBox;
+ if( ( combo == null ) || !( combo.SelectedItem is Coordinates ) )
+ {
+ throw new InvalidDataException( "ComboBox should contain a coordinate." );
+ }
+ Coordinates coordinate = combo.SelectedItem as Coordinates;
+ SetItemPositionOnRelativeCanvas( _textBlockIdentifier, coordinate.X, coordinate.Y, null, null, null );
+ }
+ private void OnRelativeWidthHeightComboBoxChanged( object sender, SelectionChangedEventArgs e )
+ {
+ ComboBox combo = sender as ComboBox;
+ if( ( combo == null ) || !( combo.SelectedItem is Coordinates ) )
+ {
+ throw new InvalidDataException( "ComboBox should contain a coordinate." );
+ }
+ Coordinates coordinate = combo.SelectedItem as Coordinates;
+ SetItemPositionOnRelativeCanvas( _textBlockIdentifier, null, null, coordinate.X, coordinate.Y, null );
+ }
+ private void OnRelativePinPointComboBoxChanged( object sender, SelectionChangedEventArgs e )
+ {
+ ComboBox combo = sender as ComboBox;
+ if( ( combo == null ) || !( combo.SelectedItem is Coordinates ) )
+ {
+ throw new InvalidDataException( "ComboBox should contain a coordinate." );
+ }
+ Coordinates coordinate = combo.SelectedItem as Coordinates;
+ Point pinPoint = new Point( coordinate.X, coordinate.Y );
+ SetItemPositionOnRelativeCanvas( _textBlockIdentifier, null, null, null, null, pinPoint );
+ }
+ private void OnRadialCanvasCenterComboBoxChanged( object sender, SelectionChangedEventArgs e )
+ {
+ ComboBox combo = sender as ComboBox;
+ if( ( combo == null ) || !( combo.SelectedItem is Coordinates ) )
+ {
+ throw new InvalidDataException( "ComboBox should contain a coordinate." );
+ }
+ Coordinates coordinate = combo.SelectedItem as Coordinates;
+ _radialCanvas.Center = new Point( coordinate.X, coordinate.Y );
+ }
+ private void OnRadialCanvasAngleComboBoxChanged( object sender, SelectionChangedEventArgs e )
+ {
+ ComboBox combo = sender as ComboBox;
+ if( ( combo != null ) && ( combo.SelectedItem is int ) )
+ {
+ if( _textBlockIdentifier != null )
+ Xceed.Wpf.Toolkit.Panels.RadialCanvas.SetAngle( _textBlockIdentifier, ( int )combo.SelectedItem );
+ }
+ }
+ private void OnRadialCanvasRadiusComboBoxChanged( object sender, SelectionChangedEventArgs e )
+ {
+ ComboBox combo = sender as ComboBox;
+ if( ( combo != null ) && ( combo.SelectedItem is int ) )
+ {
+ if( _textBlockIdentifier != null )
+ Xceed.Wpf.Toolkit.Panels.RadialCanvas.SetRadius( _textBlockIdentifier, ( int )combo.SelectedItem );
+ }
+ }
+ private void OnRadialCanvasPinPointComboBoxChanged( object sender, SelectionChangedEventArgs e )
+ {
+ ComboBox combo = sender as ComboBox;
+ if( ( combo == null ) || !( combo.SelectedItem is Coordinates ) )
+ {
+ throw new InvalidDataException( "ComboBox should contain a coordinate." );
+ }
+ Coordinates coordinate = combo.SelectedItem as Coordinates;
+ Point pinPoint = new Point( coordinate.X, coordinate.Y );
+ SetItemPositionOnRadialCanvas( _textBlockIdentifier, null, null, pinPoint );
+ }
+ private void OnAnimatedTimelineUnitTimeSpanChanged( object sender, EventArgs e )
+ {
+ IntegerUpDown integerUpDown = sender as IntegerUpDown;
+ if( integerUpDown.Value.HasValue )
+ {
+ _animatedTimeLinePanel.UnitTimeSpan = (integerUpDown.Value.Value == 0)
+ ? System.TimeSpan.Zero
+ : new System.TimeSpan( integerUpDown.Value.Value, 0, 0, 0 );
+ }
+ }
+ private void OnAnimatedTimelineDatesChanged( object sender, SelectionChangedEventArgs e )
+ {
+ ComboBox combo = sender as ComboBox;
+ if( ( combo != null ) && ( combo.SelectedItem is string ) )
+ {
+ string selectionContent = ( string )combo.SelectedItem;
+ string[] dateContent = selectionContent.Split( new string[]{ "to" }, StringSplitOptions.RemoveEmptyEntries );
+ if( dateContent.Length != 2 )
+ throw new InvalidDataException( "ComboBox should contain 2 date strings." );
+ if( ( _textBlockIdentifier != null ) && ( _textBlockIdentifier is TextBlock ) )
+ {
+ TextBlock textBlock = _textBlockIdentifier as TextBlock;
+ ResetItemContent( textBlock );
+ AddToItemContent( textBlock, dateContent[ 0 ], dateContent[ 1 ] );
+ }
+ SetItemPositionOnAnimatedTimelinePanel( _textBlockIdentifier, System.DateTime.Parse( dateContent[ 0 ] ), System.DateTime.Parse( dateContent[ 1 ] ) );
+ }
+ }
+ private void OnAnimatedTimelinePanelDeactivated( object sender, RoutedEventArgs e )
+ {
+ AnimationPanel animationPanel = sender as AnimationPanel;
+ if( animationPanel != null )
+ {
+ ResetItemContent( "_item1" );
+ ResetItemContent( "_item2" );
+ ResetItemContent( "_item3" );
+ ResetItemContent( "_item4" );
+ ResetItemContent( "_item5" );
+ ResetItemContent( "_item6" );
+ ResetItemContent( "_item7" );
+ ResetItemContent( "_item8" );
+ }
+ }
+#endif //!OPEN_SOURCE
#endregion
#region Methods (Private)
+ #if !OPEN_SOURCE
+ private void InitCanvasPanel( SwitchPanel switchPanel )
+ {
+ if( ( switchPanel != null ) && ( switchPanel.ActiveLayout != null ) )
+ {
+ _textBlockIdentifier = switchPanel.ActiveLayout.FindName( "_item8" ) as DependencyObject;
+ SetItemPositionOnCanvas( switchPanel, "_item1", 0, 200 );
+ SetItemPositionOnCanvas( switchPanel, "_item2", 150, 0 );
+ SetItemPositionOnCanvas( switchPanel, "_item3", 180, 180 );
+ SetItemPositionOnCanvas( switchPanel, "_item4", 12, 50 );
+ SetItemPositionOnCanvas( switchPanel, "_item5", 400, 30 );
+ SetItemPositionOnCanvas( switchPanel, "_item6", 500, 200 );
+ SetItemPositionOnCanvas( switchPanel, "_item7", 260, 50 );
+ SetItemPositionOnCanvas( switchPanel, "_item8", 600, 0 );
+ }
+ }
+ private void InitDockPanel( SwitchPanel switchPanel )
+ {
+ if( ( switchPanel != null ) && ( switchPanel.ActiveLayout != null ) )
+ _textBlockIdentifier = switchPanel.ActiveLayout.FindName( "_item2" ) as DependencyObject;
+ }
+ private void InitGridPanel( SwitchPanel switchPanel )
+ {
+ if( ( switchPanel != null ) && ( switchPanel.ActiveLayout != null ) )
+ {
+ _textBlockIdentifier = switchPanel.ActiveLayout.FindName( "_item4" ) as DependencyObject;
+ SetItemPositionOnGrid( switchPanel, "_item1", 1, 2 );
+ SetItemPositionOnGrid( switchPanel, "_item2", 3, 0 );
+ SetItemPositionOnGrid( switchPanel, "_item3", 2, 1 );
+ SetItemPositionOnGrid( switchPanel, "_item4", 3, 2 );
+ SetItemPositionOnGrid( switchPanel, "_item5", 3, 1 );
+ SetItemPositionOnGrid( switchPanel, "_item6", 2, 0 );
+ SetItemPositionOnGrid( switchPanel, "_item7", 0, 0 );
+ SetItemPositionOnGrid( switchPanel, "_item8", 1, 1 );
+ }
+ }
+ private void InitStackedStackPanel( SwitchPanel switchPanel )
+ {
+ if( ( switchPanel != null ) && ( switchPanel.ActiveLayout != null ) )
+ {
+ _textBlockIdentifier = switchPanel.ActiveLayout.FindName( "_item5" ) as DependencyObject;
+ SetItemPositionOnStackedStackPanel( switchPanel, "_item1", 1 );
+ SetItemPositionOnStackedStackPanel( switchPanel, "_item2", 3 );
+ SetItemPositionOnStackedStackPanel( switchPanel, "_item3", 2 );
+ SetItemPositionOnStackedStackPanel( switchPanel, "_item4", 3 );
+ SetItemPositionOnStackedStackPanel( switchPanel, "_item5", 2 );
+ SetItemPositionOnStackedStackPanel( switchPanel, "_item6", 2 );
+ SetItemPositionOnStackedStackPanel( switchPanel, "_item7", 0 );
+ SetItemPositionOnStackedStackPanel( switchPanel, "_item8", 1 );
+ }
+ }
+ private void InitRelativeCanvasPanel( SwitchPanel switchPanel )
+ {
+ if( ( switchPanel != null ) && ( switchPanel.ActiveLayout != null ) )
+ {
+ _textBlockIdentifier = switchPanel.ActiveLayout.FindName( "_item6" ) as DependencyObject;
+ SetItemPositionOnRelativeCanvas( switchPanel, "_item1", 0.3, 0.1 );
+ SetItemPositionOnRelativeCanvas( switchPanel, "_item2", 0.55, 0 );
+ SetItemPositionOnRelativeCanvas( switchPanel, "_item3", 0.6, 0.75 );
+ SetItemPositionOnRelativeCanvas( switchPanel, "_item4", 0.05, 0.2 );
+ SetItemPositionOnRelativeCanvas( switchPanel, "_item5", 0.45, 0.9 );
+ SetItemPositionOnRelativeCanvas( switchPanel, "_item6", 0.2, 0.7 );
+ SetItemPositionOnRelativeCanvas( switchPanel, "_item7", 0.5, 0.4 );
+ SetItemPositionOnRelativeCanvas( switchPanel, "_item8", 0.85, 0.8 );
+ }
+ }
+ private void InitRadialCanvasPanel( SwitchPanel switchPanel )
+ {
+ if( ( switchPanel != null ) && ( switchPanel.ActiveLayout != null ) )
+ {
+ _textBlockIdentifier = switchPanel.ActiveLayout.FindName( "_item7" ) as DependencyObject;
+ SetItemPositionOnRadialCanvas( switchPanel, "_item1", 278, 0 );
+ SetItemPositionOnRadialCanvas( switchPanel, "_item2", 100, 145 );
+ SetItemPositionOnRadialCanvas( switchPanel, "_item3", 125, 270 );
+ SetItemPositionOnRadialCanvas( switchPanel, "_item4", 200, 335 );
+ SetItemPositionOnRadialCanvas( switchPanel, "_item5", 200, 30 );
+ SetItemPositionOnRadialCanvas( switchPanel, "_item6", 25, 0 );
+ SetItemPositionOnRadialCanvas( switchPanel, "_item7", 175, 200 );
+ SetItemPositionOnRadialCanvas( switchPanel, "_item8", 300, 175 );
+ }
+ }
+ private void InitCameraPanel( SwitchPanel switchPanel )
+ {
+ if( ( switchPanel != null ) && ( switchPanel.ActiveLayout != null ) )
+ {
+ _textBlockIdentifier = switchPanel.ActiveLayout.FindName( "_item3" ) as DependencyObject;
+ SetItemPositionOnCameraPanel( switchPanel, "_item1", 50, 100, 100 );
+ SetItemPositionOnCameraPanel( switchPanel, "_item2", 400, 175, 25 );
+ SetItemPositionOnCameraPanel( switchPanel, "_item3", 250, 300, 200 );
+ SetItemPositionOnCameraPanel( switchPanel, "_item4", 75, 0, 50 );
+ SetItemPositionOnCameraPanel( switchPanel, "_item5", 500, 150, 2 );
+ SetItemPositionOnCameraPanel( switchPanel, "_item6", 25, 300, 90 );
+ SetItemPositionOnCameraPanel( switchPanel, "_item7", 0, 200, 300 );
+ SetItemPositionOnCameraPanel( switchPanel, "_item8", 450, 250, 100 );
+ }
+ }
+ private void InitAnimatedTimelinePanel( SwitchPanel switchPanel )
+ {
+ if( ( switchPanel != null ) && ( switchPanel.ActiveLayout != null ) )
+ {
+ _textBlockIdentifier = switchPanel.ActiveLayout.FindName( "_item2" ) as DependencyObject;
+ SetItemPositionOnAnimatedTimelinePanel( switchPanel, "_item1", new System.DateTime( 2012, 1, 1 ), new System.DateTime( 2012, 1, 1 ) );
+ SetItemPositionOnAnimatedTimelinePanel( switchPanel, "_item2", new System.DateTime( 2012, 1, 3 ), new System.DateTime( 2012, 1, 3 ) );
+ SetItemPositionOnAnimatedTimelinePanel( switchPanel, "_item3", new System.DateTime( 2012, 1, 1 ), new System.DateTime( 2012, 1, 4 ) );
+ SetItemPositionOnAnimatedTimelinePanel( switchPanel, "_item4", new System.DateTime( 2012, 1, 4 ), new System.DateTime( 2012, 1, 4 ) );
+ SetItemPositionOnAnimatedTimelinePanel( switchPanel, "_item5", new System.DateTime( 2012, 1, 1 ), new System.DateTime( 2012, 1, 1 ) );
+ SetItemPositionOnAnimatedTimelinePanel( switchPanel, "_item6", new System.DateTime( 2012, 1, 7 ), new System.DateTime( 2012, 1, 7 ) );
+ SetItemPositionOnAnimatedTimelinePanel( switchPanel, "_item7", new System.DateTime( 2012, 1, 5 ), new System.DateTime( 2012, 1, 7 ) );
+ SetItemPositionOnAnimatedTimelinePanel( switchPanel, "_item8", new System.DateTime( 2012, 1, 6 ), new System.DateTime( 2012, 1, 6 ) );
+ }
+ }
+ private void SetItemPositionOnCanvas( SwitchPanel switchPanel, string itemName, double left, double top )
+ {
+ if( switchPanel != null )
+ {
+ object item = switchPanel.ActiveLayout.FindName( itemName ) as object;
+ SetItemPositionOnCanvas( ( DependencyObject )item, left, top );
+ }
+ }
+
+ private void SetItemPositionOnCanvas( DependencyObject item, double left, double top )
+ {
+ if( item != null )
+ {
+ Xceed.Wpf.Toolkit.Panels.Canvas.SetLeft( item, left );
+ Xceed.Wpf.Toolkit.Panels.Canvas.SetTop( item, top );
+ }
+ }
+ private void SetItemPositionOnDockPanel( DependencyObject item, Dock dock )
+ {
+ if( item != null )
+ Xceed.Wpf.Toolkit.Panels.DockPanel.SetDock( item, dock );
+ }
+ private void SetItemPositionOnGrid( SwitchPanel switchPanel, string itemName, int row, int column )
+ {
+ if( switchPanel != null )
+ {
+ object item = switchPanel.ActiveLayout.FindName( itemName ) as object;
+ SetItemPositionOnGrid( ( DependencyObject )item, row, column );
+ }
+ }
+ private void SetItemPositionOnGrid( DependencyObject item, int row, int column )
+ {
+ if( item != null )
+ {
+ Xceed.Wpf.Toolkit.Panels.Grid.SetRow( item, row );
+ Xceed.Wpf.Toolkit.Panels.Grid.SetColumn( item, column );
+ }
+ }
+ private void SetItemPositionOnStackedStackPanel( SwitchPanel switchPanel, string itemName, int stacked )
+ {
+ if( switchPanel != null )
+ {
+ object item = switchPanel.ActiveLayout.FindName( itemName ) as object;
+ SetItemPositionOnStackedStackPanel( ( DependencyObject )item, stacked );
+ }
+ }
+ private void SetItemPositionOnStackedStackPanel( DependencyObject item, int stacked )
+ {
+ if( item != null )
+ Xceed.Wpf.Toolkit.Panels.StackedStackPanel.SetStack( item, stacked );
+ }
+ private void SetItemPositionOnRelativeCanvas( SwitchPanel switchPanel, string itemName, double left, double top )
+ {
+ if( switchPanel != null )
+ {
+ object item = switchPanel.ActiveLayout.FindName( itemName ) as object;
+ SetItemPositionOnRelativeCanvas( ( DependencyObject )item, left, top, null, null, null );
+ }
+ }
+ private void SetItemPositionOnRelativeCanvas( DependencyObject item, double? left, double? top, double? width, double? height, Point? pinPoint )
+ {
+ if( item != null )
+ {
+ if( left.HasValue )
+ Xceed.Wpf.Toolkit.Panels.RelativeCanvas.SetLeft( item, left.Value );
+ if( top.HasValue )
+ Xceed.Wpf.Toolkit.Panels.RelativeCanvas.SetTop( item, top.Value );
+ if( width.HasValue )
+ Xceed.Wpf.Toolkit.Panels.RelativeCanvas.SetRelativeWidth( item, width.Value );
+ if( height.HasValue )
+ Xceed.Wpf.Toolkit.Panels.RelativeCanvas.SetRelativeHeight( item, height.Value );
+ if( pinPoint.HasValue )
+ Xceed.Wpf.Toolkit.Panels.RelativeCanvas.SetPinPoint( item, pinPoint.Value );
+ }
+ }
+ private void SetItemPositionOnRadialCanvas( SwitchPanel switchPanel, string itemName, int radius, int angle )
+ {
+ if( switchPanel != null )
+ {
+ object item = switchPanel.ActiveLayout.FindName( itemName ) as object;
+ SetItemPositionOnRadialCanvas( ( DependencyObject )item, radius, angle, null );
+ }
+ }
+ private void SetItemPositionOnRadialCanvas( DependencyObject item, int? radius, int? angle, Point? pinPoint )
+ {
+ if( item != null )
+ {
+ if( radius.HasValue )
+ Xceed.Wpf.Toolkit.Panels.RadialCanvas.SetRadius( item, radius.Value );
+ if( angle.HasValue )
+ Xceed.Wpf.Toolkit.Panels.RadialCanvas.SetAngle( item, angle.Value );
+ if( pinPoint.HasValue )
+ Xceed.Wpf.Toolkit.Panels.RadialCanvas.SetPinPoint( item, pinPoint.Value );
+ }
+ }
+ private void SetItemPositionOnCameraPanel( SwitchPanel switchPanel, string itemName, double left, double top, int depth )
+ {
+ if( switchPanel != null )
+ {
+ object item = switchPanel.ActiveLayout.FindName( itemName ) as object;
+ SetItemPositionOnCameraPanel( ( DependencyObject )item, left, top, depth );
+ }
+ }
+ private void SetItemPositionOnCameraPanel( DependencyObject item, double left, double top, int depth )
+ {
+ if( item != null )
+ {
+ Xceed.Wpf.Toolkit.Panels.CameraPanel.SetLeft( item, left );
+ Xceed.Wpf.Toolkit.Panels.CameraPanel.SetTop( item, top );
+ Xceed.Wpf.Toolkit.Panels.CameraPanel.SetDepth( item, depth );
+ }
+ }
+ private void SetItemPositionOnAnimatedTimelinePanel( SwitchPanel switchPanel, string itemName, System.DateTime date, System.DateTime dateEnd )
+ {
+ if( switchPanel != null )
+ {
+ object item = switchPanel.ActiveLayout.FindName( itemName ) as object;
+ AddToItemContent( item, date.ToShortDateString(), dateEnd.ToShortDateString() );
+ SetItemPositionOnAnimatedTimelinePanel( ( DependencyObject )item, date, dateEnd );
+ }
+ }
+ private void SetItemPositionOnAnimatedTimelinePanel( DependencyObject item, System.DateTime date, System.DateTime dateEnd )
+ {
+ if( item != null )
+ {
+ Xceed.Wpf.Toolkit.Panels.AnimatedTimelinePanel.SetDate( item, date );
+ Xceed.Wpf.Toolkit.Panels.AnimatedTimelinePanel.SetDateEnd( item, dateEnd );
+ }
+ }
+ private void AddToItemContent( object o, string date1, string date2 )
+ {
+ if( o is TextBlock )
+ {
+ string addedString = "\n" + date1 + "\nto " + date2;
+ ( ( TextBlock )o ).Text += addedString;
+ }
+ }
+ private void ResetItemContent( object o )
+ {
+ if( o is TextBlock )
+ {
+ TextBlock textBlock = ( TextBlock )o;
+ //# Only keep the first line
+ int endIndex = textBlock.Text.IndexOf( '\n' );
+ if( endIndex > 0 )
+ textBlock.Text = textBlock.Text.Substring( 0, endIndex );
+ }
+ }
+ private void ResetItemContent( string itemName )
+ {
+ if( ( _switchPanel != null ) && ( _switchPanel.ActiveLayout != null ) )
+ {
+ object textBlock = _switchPanel.ActiveLayout.FindName( itemName );
+ ResetItemContent( textBlock );
+ }
+ }
-
-
+#endif //!OPEN_SOURCE
+
#endregion
}
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/SwitchPanelView.xaml.txt b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/SwitchPanelView.xaml.txt
index 3e3021a1..bc52ea13 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/SwitchPanelView.xaml.txt
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/SwitchPanelView.xaml.txt
@@ -29,7 +29,7 @@
The SwitchPanel allows you to animate the children between different layouts.
-
+
-
+
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/ThemingDataGridView.xaml.cs.txt b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/ThemingDataGridView.xaml.cs.txt
index f0fa0102..41d03d50 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/ThemingDataGridView.xaml.cs.txt
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/ThemingDataGridView.xaml.cs.txt
@@ -20,6 +20,11 @@ using System.ComponentModel;
using System.Windows;
using System.Windows.Controls;
using Xceed.Wpf.Toolkit;
+#if !OPEN_SOURCE
+using Xceed.Wpf.Themes;
+using Xceed.Wpf.DataGrid.Themes.Metro;
+using Xceed.Wpf.DataGrid.Themes;
+#endif
using System.Windows.Controls.Primitives;
using System;
using Xceed.Wpf.Samples.SampleData;
@@ -36,21 +41,100 @@ namespace Xceed.Wpf.Toolkit.LiveExplorer.Samples.Theming.Views
///
public partial class ThemingDataGridView : DemoView
{
+#if !OPEN_SOURCE
+ #region Members
+ private Brush _accentBrush = new SolidColorBrush( System.Windows.Media.Color.FromRgb( 255, 152, 29 ) );
+ #endregion
+#endif
public ThemingDataGridView()
{
+#if !OPEN_SOURCE
+ this.DataContext = SampleDataProvider.GetOrders();
+#endif
InitializeComponent();
}
+#if !OPEN_SOURCE
+ private void RadioButton_Checked( object sender, RoutedEventArgs e )
+ {
+ RadioButton button = sender as RadioButton;
+
+ if( button == null )
+ return;
+
+ _accentBrush = button.Background;
+ if( _accentBrush == null )
+ return;
+
+ if( themeComboBox.SelectedItem.Equals( metroDarkComboBoxItem ) )
+ {
+ this.ChangeMetroTheme( new Xceed.Wpf.DataGrid.Themes.Metro.MetroDarkThemeResourceDictionary() );
+ }
+ else if( themeComboBox.SelectedItem.Equals( metroLightComboBoxItem ) )
+ {
+ this.ChangeMetroTheme( new Xceed.Wpf.DataGrid.Themes.Metro.MetroLightThemeResourceDictionary() );
+ }
+ }
+ private void ThemeComboBoxSelectionChanged( object sender, SelectionChangedEventArgs e )
+ {
+ ComboBox comboBox = sender as ComboBox;
+ if( (comboBox != null) && (_dataGrid != null) )
+ {
+ switch( comboBox.SelectedIndex )
+ {
+ case 1:
+ this.ChangeTheme( new Xceed.Wpf.DataGrid.Themes.Office2007BlueTheme() );
+ break;
+ case 2:
+ this.ChangeTheme( new Xceed.Wpf.DataGrid.Themes.Office2007BlackTheme() );
+ break;
+ case 3:
+ this.ChangeTheme( new Xceed.Wpf.DataGrid.Themes.Office2007SilverTheme() );
+ break;
+ case 4:
+ //# TODODOC
+ // Using a new instance of Brush to prevent the bug of AccentBrush in MetroTheme :
+ // if using the same instance of AccentBrush, ThemeKey won't make the difference
+ // between MetroLight and MetroDark and new Theme won't be applied (see case 156588).
+ _accentBrush = _accentBrush.Clone();
+ this.ChangeMetroTheme( new Xceed.Wpf.DataGrid.Themes.Metro.MetroDarkThemeResourceDictionary() );
+ break;
+ case 5:
+ _accentBrush = _accentBrush.Clone();
+ this.ChangeMetroTheme( new Xceed.Wpf.DataGrid.Themes.Metro.MetroLightThemeResourceDictionary() );
+ break;
+ default:
+ this.ChangeTheme( null );
+ break;
+ }
+ }
+ }
+ private void ChangeTheme( Theme dataGridTheme )
+ {
+ _accentColorPanel.Visibility = Visibility.Hidden;
+ _dataGrid.View.Theme = dataGridTheme;
+ }
-
-
-
-
-
+ private void ChangeMetroTheme( MetroThemeResourceDictionaryBase metroDataGridThemeResourceDictionary )
+ {
+ _accentColorPanel.Visibility = Visibility.Visible;
+
+ if( metroDataGridThemeResourceDictionary != null )
+ {
+ if( !string.IsNullOrEmpty( Xceed.Wpf.Toolkit.Licenser.LicenseKey ) )
+ {
+ metroDataGridThemeResourceDictionary.LicenseKey = Xceed.Wpf.Toolkit.Licenser.LicenseKey;
+ }
+
+ metroDataGridThemeResourceDictionary.AccentBrush = _accentBrush;
+ _dataGrid.View.Theme = new Xceed.Wpf.DataGrid.Themes.Metro.MetroTheme( metroDataGridThemeResourceDictionary );
+ }
+ }
+#endif
}
}
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/ThemingDataGridView.xaml.txt b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/ThemingDataGridView.xaml.txt
index 3fecb52c..2e10cf1a 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/ThemingDataGridView.xaml.txt
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/ThemingDataGridView.xaml.txt
@@ -28,51 +28,514 @@
Changes the themes of the datagrid control. Available themes are System, Office2007 and Metro with accent color. The Xceed.Wpf.DataGrid.Themes.Office2007.dll or Xceed.Wpf.DataGrid.Themes.Metro.dll assemblies are necessary to use the themes on the datagrid.
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/ThemingExtendedToolkitView.xaml.cs.txt b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/ThemingExtendedToolkitView.xaml.cs.txt
index 90967a8b..e2efc207 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/ThemingExtendedToolkitView.xaml.cs.txt
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/ThemingExtendedToolkitView.xaml.cs.txt
@@ -16,6 +16,12 @@
using System.Diagnostics;
using System.Windows;
+#if !OPEN_SOURCE
+using Xceed.Wpf.Themes;
+using Xceed.Wpf.Toolkit.Themes.Office2007;
+using Xceed.Wpf.Toolkit.Themes.Metro;
+using Xceed.Wpf.Themes.Metro;
+#endif
using System;
using System.Windows.Controls;
using System.Windows.Media;
@@ -29,30 +35,117 @@ namespace Xceed.Wpf.Toolkit.LiveExplorer.Samples.Theming.Views
///
public partial class ThemingExtendedToolkitView : DemoView
{
+#if !OPEN_SOURCE
+ #region Members
+ private Brush _accentBrush = new SolidColorBrush( System.Windows.Media.Color.FromRgb( 255, 152, 29 ) );
+ private Brush whiteBrush = new SolidColorBrush( Colors.White );
+ private Brush blackBrush = new SolidColorBrush( Colors.Black );
+ #endregion
+#endif
public ThemingExtendedToolkitView()
{
+#if !OPEN_SOURCE
+ this.Initialized += new EventHandler( ToolkitControlsThemes_Initialized );
+#endif
InitializeComponent();
}
+#if !OPEN_SOURCE
+ private void RadioButton_Checked( object sender, RoutedEventArgs e )
+ {
+ RadioButton button = sender as RadioButton;
+ if( button == null )
+ return;
+
+ _accentBrush = button.Background;
+ if( _accentBrush == null )
+ return;
+
+ if( themeComboBox.SelectedItem == null )
+ return;
+
+ if( themeComboBox.SelectedItem.Equals( metroDarkComboBoxItem ) )
+ {
+ this.ChangeMetroTheme( new Xceed.Wpf.Toolkit.Themes.Metro.ToolkitMetroDarkThemeResourceDictionary()
+ , blackBrush );
+ }
+ else if( themeComboBox.SelectedItem.Equals( metroLightComboBoxItem ) )
+ {
+ this.ChangeMetroTheme( new Xceed.Wpf.Toolkit.Themes.Metro.ToolkitMetroLightThemeResourceDictionary()
+ , whiteBrush );
+ }
+ }
+ private void ToolkitControlsThemes_Initialized( object sender,EventArgs e )
+ {
+ themeComboBox.SelectedIndex = 0;
+ }
+ private void SystemComboBoxItem_Selected( object sender, RoutedEventArgs e )
+ {
+ this.ChangeTheme( null );
+ }
+ private void Office2007BlueComboBoxItem_Selected( object sender, RoutedEventArgs e )
+ {
+ this.ChangeTheme( new Xceed.Wpf.Toolkit.Themes.Office2007.Office2007BlueResourceDictionary() );
+ }
+ private void Office2007SilverComboBoxItem_Selected( object sender, RoutedEventArgs e )
+ {
+ this.ChangeTheme( new Xceed.Wpf.Toolkit.Themes.Office2007.Office2007SilverResourceDictionary() );
+ }
+ private void Office2007BlackComboBoxItem_Selected( object sender, RoutedEventArgs e )
+ {
+ this.ChangeTheme( new Xceed.Wpf.Toolkit.Themes.Office2007.Office2007BlackResourceDictionary() );
+ }
+ private void MetroDarkComboBoxItem_Selected( object sender, RoutedEventArgs e )
+ {
+ this.ChangeMetroTheme( new Xceed.Wpf.Toolkit.Themes.Metro.ToolkitMetroDarkThemeResourceDictionary()
+ , blackBrush );
+ }
+ private void MetroLightComboBoxItem_Selected( object sender, RoutedEventArgs e )
+ {
+ this.ChangeMetroTheme( new Xceed.Wpf.Toolkit.Themes.Metro.ToolkitMetroLightThemeResourceDictionary()
+ , whiteBrush );
+ }
+ private void ChangeTheme( ThemeResourceDictionary toolkitTheme)
+ {
+ _accentColorPanel.Visibility = Visibility.Hidden;
+ SampleBorder.Resources.MergedDictionaries.Clear();
+ if( toolkitTheme != null )
+ {
+ SampleBorder.Resources.MergedDictionaries.Add( toolkitTheme );
+ }
+ SampleBorder.Background = SystemColors.WindowBrush;
+ TextElement.SetForeground( SampleBorder, blackBrush );
+ }
+ private void ChangeMetroTheme( MetroThemeResourceDictionaryBase metroToolkitThemeResourceDictionary
+ , Brush sampleBrush)
+ {
+ _accentColorPanel.Visibility = Visibility.Visible;
+ if( metroToolkitThemeResourceDictionary != null )
+ {
+ metroToolkitThemeResourceDictionary.AccentBrush = _accentBrush;
+ SampleBorder.Resources.MergedDictionaries.Clear();
+ SampleBorder.Resources.MergedDictionaries.Add( metroToolkitThemeResourceDictionary );
+ }
-
-
-
+ SampleBorder.Background = sampleBrush;
+ TextElement.SetForeground( SampleBorder, ( sampleBrush == blackBrush ) ? whiteBrush : blackBrush );
+ }
+#endif
}
}
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/ThemingExtendedToolkitView.xaml.txt b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/ThemingExtendedToolkitView.xaml.txt
index cc62fee6..f8f96f1c 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/ThemingExtendedToolkitView.xaml.txt
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/ThemingExtendedToolkitView.xaml.txt
@@ -26,41 +26,491 @@
Changes the themes of the Extended WPF Toolkit controls. Available themes are System, Office2007 and Metro with accent color. The Xceed.Wpf.Toolkit.Themes.Office2007.dll or Xceed.Wpf.Toolkit.Themes.Metro.dll assembly is necessary to use the themes.
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Blue
+ Red
+ Yellow
+ Green
+ White
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/ThemingListBoxView.xaml.cs.txt b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/ThemingListBoxView.xaml.cs.txt
index 17554031..e09ca337 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/ThemingListBoxView.xaml.cs.txt
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/ThemingListBoxView.xaml.cs.txt
@@ -20,6 +20,13 @@ using System.ComponentModel;
using System.Windows;
using System.Windows.Controls;
using Xceed.Wpf.Toolkit;
+#if !OPEN_SOURCE
+using Xceed.Wpf.ListBox.Themes.Office2007;
+using Xceed.Wpf.ListBox.Themes.LiveExplorer;
+using Xceed.Wpf.ListBox.Themes.Metro;
+using Xceed.Wpf.ListBox.Themes.WMP11;
+using Xceed.Wpf.ListBox;
+#endif
using System.Windows.Controls.Primitives;
using System;
using Xceed.Wpf.Samples.SampleData;
@@ -30,41 +37,172 @@ using System.Windows.Threading;
namespace Xceed.Wpf.Toolkit.LiveExplorer.Samples.Theming.Views
{
+#if !OPEN_SOURCE
+ public enum ThemesEnum
+ {
+ System,
+ Office2007Blue,
+ Office2007Black,
+ Office2007Silver,
+ LiveExplorer,
+ MetroDark,
+ MetroLight,
+ MediaPlayer
+ }
+#endif
///
/// Interaction logic for ThemingListBoxView.xaml
///
public partial class ThemingListBoxView : DemoView
{
+#if !OPEN_SOURCE
+ #region Members
+ private Brush _accentBrush = new SolidColorBrush( System.Windows.Media.Color.FromRgb( 255, 152, 29 ) );
+ private ThemesEnum _selectedTheme = ThemesEnum.System;
+ private DispatcherTimer _dispatcherTimer;
+ #endregion
+#endif
#region Initialization
public ThemingListBoxView()
{
+#if !OPEN_SOURCE
+ this.DataContext = SampleDataProvider.GetOrders();
+#endif
InitializeComponent();
+#if !OPEN_SOURCE
+ //Add the default GroupDescriptions to the ListBox's GroupDescriptions collection.
+ _listBox.GroupDescriptions.Add( this.Resources[ "shipCountryGroupDescription" ] as GroupDescription );
+ _listBox.GroupDescriptions.Add( this.Resources[ "shipCityGroupDescription" ] as GroupDescription );
+#endif
}
#endregion
+#if !OPEN_SOURCE
+ #region EventHandlers
+ private void ThemeComboBoxSelectionChanged( object sender, SelectionChangedEventArgs e )
+ {
+ ComboBox comboBox = sender as ComboBox;
+ if( ( comboBox != null ) && ( _listBox != null ) )
+ {
+ _selectedTheme = ( ThemesEnum )comboBox.SelectedItem;
+
+ // Use a DispatcherTimer to update the Theme on the ListBox
+ // to avoid changing Theme very often.
+ if( _dispatcherTimer == null )
+ {
+ _dispatcherTimer = new DispatcherTimer();
+ _dispatcherTimer.Tick += new EventHandler( this.DispatcherTimer_Tick );
+ _dispatcherTimer.Interval = System.TimeSpan.FromMilliseconds( 250d );
+ }
+
+ _dispatcherTimer.Start();
+ }
+ }
+ private void RadioButton_Checked( object sender, RoutedEventArgs e )
+ {
+ RadioButton button = sender as RadioButton;
+ if( button == null )
+ return;
+
+ _accentBrush = button.Background;
+ if( _accentBrush == null )
+ return;
+
+ // Use a DispatcherTimer to update the Theme on the ListBox
+ // to avoid changing Theme very often.
+ if( _dispatcherTimer == null )
+ {
+ _dispatcherTimer = new DispatcherTimer();
+ _dispatcherTimer.Tick += new EventHandler( this.DispatcherTimer_Tick );
+ _dispatcherTimer.Interval = System.TimeSpan.FromMilliseconds( 250d );
+ }
+
+ _dispatcherTimer.Start();
+ }
+ private void DispatcherTimer_Tick( object sender, EventArgs e )
+ {
+ DispatcherTimer timer = sender as DispatcherTimer;
+ // Make sure the timer is still active.
+ if( timer == null || !timer.IsEnabled )
+ return;
+ timer.Stop();
+ this.ChangeTheme();
+ }
+ #endregion
+#endif
+#if !OPEN_SOURCE
+ private void ChangeTheme()
+ {
+ _listBox.Resources.MergedDictionaries.Clear();
+
+ ThemeResourceDictionary themeResourceDictionary;
+
+ switch( _selectedTheme )
+ {
+ case ThemesEnum.Office2007Blue:
+ themeResourceDictionary = new Office2007BlueThemeResourceDictionary();
+ this.InitTheme();
+ break;
+ case ThemesEnum.Office2007Black:
+ themeResourceDictionary = new Office2007BlackThemeResourceDictionary();
+ this.InitTheme();
+ break;
+ case ThemesEnum.Office2007Silver:
+ themeResourceDictionary = new Office2007SilverThemeResourceDictionary();
+ this.InitTheme();
+ break;
+ case ThemesEnum.LiveExplorer:
+ themeResourceDictionary = new LiveExplorerThemeResourceDictionary();
+ this.InitTheme();
+ break;
+ case ThemesEnum.MetroDark:
+ _accentColorPanel.Visibility = Visibility.Visible;
+ MetroThemeResourceDictionaryBase metroDarkThemeResourceDictionary = new MetroDarkThemeResourceDictionary();
+ metroDarkThemeResourceDictionary.AccentBrush = _accentBrush;
+ themeResourceDictionary = metroDarkThemeResourceDictionary;
+ break;
+ case ThemesEnum.MetroLight:
+ _accentColorPanel.Visibility = Visibility.Visible;
+ MetroThemeResourceDictionaryBase metroLightThemeResourceDictionary = new MetroLightThemeResourceDictionary();
+ metroLightThemeResourceDictionary.AccentBrush = _accentBrush;
+ themeResourceDictionary = metroLightThemeResourceDictionary;
+ break;
+ case ThemesEnum.MediaPlayer:
+ themeResourceDictionary = new WMP11ThemeResourceDictionary();
+ this.InitTheme();
+ break;
+ default:
+ _accentColorPanel.Visibility = Visibility.Hidden;
+ themeResourceDictionary = null;
+ break;
+ }
+
+ if( themeResourceDictionary != null )
+ {
+ _listBox.Resources.MergedDictionaries.Add( themeResourceDictionary );
+ }
+ }
-
-
-
-
-
-
-
-
+ private void InitTheme()
+ {
+ _accentColorPanel.Visibility = Visibility.Hidden;
+ _listBox.ItemTemplate = Resources[ "orderListBoxItemTemplate" ] as DataTemplate;
+ }
+#endif
}
}
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/ThemingListBoxView.xaml.txt b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/ThemingListBoxView.xaml.txt
index c3d61b1b..405662bf 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/ThemingListBoxView.xaml.txt
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/ThemingListBoxView.xaml.txt
@@ -31,30 +31,377 @@
Supports implicit styles, so the entire listbox can be styled in minutes with a couple of lines of code. Also supports explicit styles and Expression Blend. Available themes are System, Office2007, LiveExplorer, MediaPlayer and Metro with accent color. The Xceed.Wpf.ListBox.Themes.xxx.dll assembly is necessary to use the themes.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ShipCountry
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/TimeSpanView.xaml.txt b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/TimeSpanView.xaml.txt
index 14b2d1ae..32fa0213 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/TimeSpanView.xaml.txt
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/TimeSpanView.xaml.txt
@@ -27,7 +27,7 @@
The TimeSpanUpDown controls let you increment or decrement a time over 24 hours. The Format is Days.Hours:Minutes:Seconds.
-
+
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/TimelinePanelView.xaml.txt b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/TimelinePanelView.xaml.txt
index d46a9090..58733f68 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/TimelinePanelView.xaml.txt
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/TimelinePanelView.xaml.txt
@@ -26,7 +26,7 @@
TimelinePanel is a WPF panel at arranges it's children along a timeline. Items are placed along the timeline based on the Date attached property, which is set on each item.
-
+
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/WatermarkTextboxView.xaml.txt b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/WatermarkTextboxView.xaml.txt
index 51e30db4..6786a29e 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/WatermarkTextboxView.xaml.txt
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/WatermarkTextboxView.xaml.txt
@@ -24,7 +24,7 @@
The WatermarkTextBox is simply a TextBox that allows you to sepcify an object, usually a String, to represent null or missing text.
-
+
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/WindowContainerView.xaml.cs.txt b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/WindowContainerView.xaml.cs.txt
index f5f72e65..6b2586cf 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/WindowContainerView.xaml.cs.txt
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/WindowContainerView.xaml.cs.txt
@@ -40,6 +40,7 @@ namespace Xceed.Wpf.Toolkit.LiveExplorer.Samples.Window.Views
{
InitializeComponent();
+ //# Use translucent colors in the Available Colors Tab from ColorPicker
ObservableCollection alphaAvailableColors = new ObservableCollection();
foreach( ColorItem item in _modalBackgroundColorPicker.AvailableColors )
{
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/WindowContainerView.xaml.txt b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/WindowContainerView.xaml.txt
index 9d7a7c03..a54049b1 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/WindowContainerView.xaml.txt
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/WindowContainerView.xaml.txt
@@ -38,7 +38,7 @@
-
+
@@ -52,25 +52,25 @@
-
+
-
+
-
+
-
+
@@ -84,7 +84,7 @@
-
+
@@ -105,7 +105,7 @@
-
+
@@ -114,7 +114,7 @@
-
+
-
+
-
+
-
+
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/WizardView.xaml.txt b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/WizardView.xaml.txt
index 14f747a5..296af857 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/WizardView.xaml.txt
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/CodeFiles/WizardView.xaml.txt
@@ -24,7 +24,7 @@
The Wizard will explain how to do something in a series of steps.
-
+
-
+
internal const string PART_Spinner = "PART_Spinner";
+ internal bool _isTextChangedFromUI;
+
///
/// Flags if the Text and Value properties are in the process of being sync'd
///
- private bool _isSyncingTextAndValueProperties;
- private bool _isTextChangedFromUI;
+ private bool _isSyncingTextAndValueProperties;
#endregion //Members
@@ -79,7 +80,7 @@ namespace Xceed.Wpf.Toolkit.Primitives
#endregion //AllowSpin
-#region ClipValueToMinMax
+ #region ClipValueToMinMax
public static readonly DependencyProperty ClipValueToMinMaxProperty = DependencyProperty.Register( "ClipValueToMinMax", typeof( bool ), typeof( UpDownBase ), new UIPropertyMetadata( false ) );
public bool ClipValueToMinMax
@@ -94,9 +95,9 @@ namespace Xceed.Wpf.Toolkit.Primitives
}
}
-#endregion //ClipValueToMinMax
+ #endregion //ClipValueToMinMax
-#region DisplayDefaultValueOnEmptyText
+ #region DisplayDefaultValueOnEmptyText
public static readonly DependencyProperty DisplayDefaultValueOnEmptyTextProperty = DependencyProperty.Register( "DisplayDefaultValueOnEmptyText", typeof( bool ), typeof( UpDownBase ), new UIPropertyMetadata( false, OnDisplayDefaultValueOnEmptyTextChanged ) );
public bool DisplayDefaultValueOnEmptyText
@@ -583,7 +584,7 @@ namespace Xceed.Wpf.Toolkit.Primitives
}
}
- public bool CommitInput()
+ public virtual bool CommitInput()
{
return this.SyncTextAndValueProperties( true, Text );
}
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/DateTimeUpDown/Implementation/DateTimeUpDown.cs b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/DateTimeUpDown/Implementation/DateTimeUpDown.cs
index 78173e1a..8662fb0e 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/DateTimeUpDown/Implementation/DateTimeUpDown.cs
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/DateTimeUpDown/Implementation/DateTimeUpDown.cs
@@ -29,6 +29,12 @@ namespace Xceed.Wpf.Toolkit
{
public class DateTimeUpDown : DateTimeUpDownBase
{
+ #region Members
+
+ private DateTime? _lastValidDate;
+
+ #endregion
+
#region Properties
#region Format
@@ -123,6 +129,13 @@ namespace Xceed.Wpf.Toolkit
#region Base Class Overrides
+ public override bool CommitInput()
+ {
+ bool isSyncValid = this.SyncTextAndValueProperties( true, Text );
+ _lastValidDate = this.Value;
+ return isSyncValid;
+ }
+
protected override void OnCultureInfoChanged( CultureInfo oldValue, CultureInfo newValue )
{
FormatUpdated();
@@ -209,6 +222,11 @@ namespace Xceed.Wpf.Toolkit
ParseValueIntoDateTimeInfo();
base.OnValueChanged( oldValue, newValue );
+
+ if( !_isTextChangedFromUI )
+ {
+ _lastValidDate = newValue;
+ }
}
protected override void RaiseValueChangedEvent( DateTime? oldValue, DateTime? newValue )
@@ -701,6 +719,9 @@ namespace Xceed.Wpf.Toolkit
isValid = DateTime.TryParseExact( text, this.GetFormatString( this.Format ), this.CultureInfo, DateTimeStyles.None, out result );
}
+ if( !isValid )
+ result = ( _lastValidDate != null ) ? _lastValidDate.Value : current;
+
return isValid;
}
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/NumericUpDown/Themes/Aero2.NormalColor.xaml b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/NumericUpDown/Themes/Aero2.NormalColor.xaml
index 26ac8690..00f907b3 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/NumericUpDown/Themes/Aero2.NormalColor.xaml
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/NumericUpDown/Themes/Aero2.NormalColor.xaml
@@ -33,7 +33,7 @@
-
+
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/NumericUpDown/Themes/Generic.xaml b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/NumericUpDown/Themes/Generic.xaml
index cf620180..a40aa0ae 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/NumericUpDown/Themes/Generic.xaml
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/NumericUpDown/Themes/Generic.xaml
@@ -33,7 +33,7 @@
-
+
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/PropertyGrid/Implementation/Definitions/PropertyDefinitionBase.cs b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/PropertyGrid/Implementation/Definitions/PropertyDefinitionBase.cs
index df06a025..57cdc735 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/PropertyGrid/Implementation/Definitions/PropertyDefinitionBase.cs
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/PropertyGrid/Implementation/Definitions/PropertyDefinitionBase.cs
@@ -68,7 +68,10 @@ namespace Xceed.Wpf.Toolkit.PropertyGrid
}
}
- _targetProperties = new ReadOnlyCollection( newList );
+ //In Designer Mode, the Designer is broken if using a ReadOnlyCollection
+ _targetProperties = DesignerProperties.GetIsInDesignMode( this )
+ ? new Collection( newList )
+ : new ReadOnlyCollection( newList ) as IList;
}
}
}
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/PropertyGrid/Implementation/ObjectContainerHelperBase.cs b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/PropertyGrid/Implementation/ObjectContainerHelperBase.cs
index 41f0553c..a71391fa 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/PropertyGrid/Implementation/ObjectContainerHelperBase.cs
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/PropertyGrid/Implementation/ObjectContainerHelperBase.cs
@@ -346,8 +346,14 @@ namespace Xceed.Wpf.Toolkit.PropertyGrid
DescriptorPropertyDefinitionBase pd = propertyItem.DescriptorDefinition;
object definitionKey = null;
Type definitionKeyAsType = definitionKey as Type;
+ ITypeEditor editor = null;
+
+ if( pd.IsReadOnly )
+ editor = new TextBlockEditor();
+
+ if( editor == null )
+ editor = pd.CreateAttributeEditor();
- ITypeEditor editor = pd.CreateAttributeEditor();
if( editor != null )
editorElement = editor.ResolveEditor( propertyItem );
@@ -360,9 +366,6 @@ namespace Xceed.Wpf.Toolkit.PropertyGrid
if( editorElement == null )
{
- if( pd.IsReadOnly )
- editor = new TextBlockEditor();
-
// Fallback: Use a default type editor.
if( editor == null )
{
diff --git a/ExtendedWPFToolkitSolution_35/Src/Xceed.Wpf.Toolkit/CollectionControl/Implementation/CollectionControlDialog.xaml.cs b/ExtendedWPFToolkitSolution_35/Src/Xceed.Wpf.Toolkit/CollectionControl/Implementation/CollectionControlDialog.xaml.cs
index 7f5b90a2..ef3f803a 100644
--- a/ExtendedWPFToolkitSolution_35/Src/Xceed.Wpf.Toolkit/CollectionControl/Implementation/CollectionControlDialog.xaml.cs
+++ b/ExtendedWPFToolkitSolution_35/Src/Xceed.Wpf.Toolkit/CollectionControl/Implementation/CollectionControlDialog.xaml.cs
@@ -108,11 +108,13 @@ namespace Xceed.Wpf.Toolkit
private void OkButton_Click( object sender, RoutedEventArgs e )
{
_propertyGrid.PersistChanges();
+ this.DialogResult = true;
Close();
}
private void CancelButton_Click( object sender, RoutedEventArgs e )
{
+ this.DialogResult = false;
Close();
}
diff --git a/ExtendedWPFToolkitSolution_35/Src/Xceed.Wpf.Toolkit/Core/Primitives/UpDownBase.cs b/ExtendedWPFToolkitSolution_35/Src/Xceed.Wpf.Toolkit/Core/Primitives/UpDownBase.cs
index 4d1181be..3b509670 100644
--- a/ExtendedWPFToolkitSolution_35/Src/Xceed.Wpf.Toolkit/Core/Primitives/UpDownBase.cs
+++ b/ExtendedWPFToolkitSolution_35/Src/Xceed.Wpf.Toolkit/Core/Primitives/UpDownBase.cs
@@ -41,11 +41,12 @@ namespace Xceed.Wpf.Toolkit.Primitives
///
internal const string PART_Spinner = "PART_Spinner";
+ internal bool _isTextChangedFromUI;
+
///
/// Flags if the Text and Value properties are in the process of being sync'd
///
- private bool _isSyncingTextAndValueProperties;
- private bool _isTextChangedFromUI;
+ private bool _isSyncingTextAndValueProperties;
#endregion //Members
@@ -79,7 +80,7 @@ namespace Xceed.Wpf.Toolkit.Primitives
#endregion //AllowSpin
-#region ClipValueToMinMax
+ #region ClipValueToMinMax
public static readonly DependencyProperty ClipValueToMinMaxProperty = DependencyProperty.Register( "ClipValueToMinMax", typeof( bool ), typeof( UpDownBase ), new UIPropertyMetadata( false ) );
public bool ClipValueToMinMax
@@ -94,9 +95,9 @@ namespace Xceed.Wpf.Toolkit.Primitives
}
}
-#endregion //ClipValueToMinMax
+ #endregion //ClipValueToMinMax
-#region DisplayDefaultValueOnEmptyText
+ #region DisplayDefaultValueOnEmptyText
public static readonly DependencyProperty DisplayDefaultValueOnEmptyTextProperty = DependencyProperty.Register( "DisplayDefaultValueOnEmptyText", typeof( bool ), typeof( UpDownBase ), new UIPropertyMetadata( false, OnDisplayDefaultValueOnEmptyTextChanged ) );
public bool DisplayDefaultValueOnEmptyText
@@ -583,7 +584,7 @@ namespace Xceed.Wpf.Toolkit.Primitives
}
}
- public bool CommitInput()
+ public virtual bool CommitInput()
{
return this.SyncTextAndValueProperties( true, Text );
}
diff --git a/ExtendedWPFToolkitSolution_35/Src/Xceed.Wpf.Toolkit/DateTimeUpDown/Implementation/DateTimeUpDown.cs b/ExtendedWPFToolkitSolution_35/Src/Xceed.Wpf.Toolkit/DateTimeUpDown/Implementation/DateTimeUpDown.cs
index 78173e1a..8662fb0e 100644
--- a/ExtendedWPFToolkitSolution_35/Src/Xceed.Wpf.Toolkit/DateTimeUpDown/Implementation/DateTimeUpDown.cs
+++ b/ExtendedWPFToolkitSolution_35/Src/Xceed.Wpf.Toolkit/DateTimeUpDown/Implementation/DateTimeUpDown.cs
@@ -29,6 +29,12 @@ namespace Xceed.Wpf.Toolkit
{
public class DateTimeUpDown : DateTimeUpDownBase
{
+ #region Members
+
+ private DateTime? _lastValidDate;
+
+ #endregion
+
#region Properties
#region Format
@@ -123,6 +129,13 @@ namespace Xceed.Wpf.Toolkit
#region Base Class Overrides
+ public override bool CommitInput()
+ {
+ bool isSyncValid = this.SyncTextAndValueProperties( true, Text );
+ _lastValidDate = this.Value;
+ return isSyncValid;
+ }
+
protected override void OnCultureInfoChanged( CultureInfo oldValue, CultureInfo newValue )
{
FormatUpdated();
@@ -209,6 +222,11 @@ namespace Xceed.Wpf.Toolkit
ParseValueIntoDateTimeInfo();
base.OnValueChanged( oldValue, newValue );
+
+ if( !_isTextChangedFromUI )
+ {
+ _lastValidDate = newValue;
+ }
}
protected override void RaiseValueChangedEvent( DateTime? oldValue, DateTime? newValue )
@@ -701,6 +719,9 @@ namespace Xceed.Wpf.Toolkit
isValid = DateTime.TryParseExact( text, this.GetFormatString( this.Format ), this.CultureInfo, DateTimeStyles.None, out result );
}
+ if( !isValid )
+ result = ( _lastValidDate != null ) ? _lastValidDate.Value : current;
+
return isValid;
}
diff --git a/ExtendedWPFToolkitSolution_35/Src/Xceed.Wpf.Toolkit/NumericUpDown/Themes/Aero2.NormalColor.xaml b/ExtendedWPFToolkitSolution_35/Src/Xceed.Wpf.Toolkit/NumericUpDown/Themes/Aero2.NormalColor.xaml
index 26ac8690..00f907b3 100644
--- a/ExtendedWPFToolkitSolution_35/Src/Xceed.Wpf.Toolkit/NumericUpDown/Themes/Aero2.NormalColor.xaml
+++ b/ExtendedWPFToolkitSolution_35/Src/Xceed.Wpf.Toolkit/NumericUpDown/Themes/Aero2.NormalColor.xaml
@@ -33,7 +33,7 @@
-
+
diff --git a/ExtendedWPFToolkitSolution_35/Src/Xceed.Wpf.Toolkit/NumericUpDown/Themes/Generic.xaml b/ExtendedWPFToolkitSolution_35/Src/Xceed.Wpf.Toolkit/NumericUpDown/Themes/Generic.xaml
index cf620180..a40aa0ae 100644
--- a/ExtendedWPFToolkitSolution_35/Src/Xceed.Wpf.Toolkit/NumericUpDown/Themes/Generic.xaml
+++ b/ExtendedWPFToolkitSolution_35/Src/Xceed.Wpf.Toolkit/NumericUpDown/Themes/Generic.xaml
@@ -33,7 +33,7 @@
-
+
diff --git a/ExtendedWPFToolkitSolution_35/Src/Xceed.Wpf.Toolkit/PropertyGrid/Implementation/Definitions/PropertyDefinitionBase.cs b/ExtendedWPFToolkitSolution_35/Src/Xceed.Wpf.Toolkit/PropertyGrid/Implementation/Definitions/PropertyDefinitionBase.cs
index df06a025..57cdc735 100644
--- a/ExtendedWPFToolkitSolution_35/Src/Xceed.Wpf.Toolkit/PropertyGrid/Implementation/Definitions/PropertyDefinitionBase.cs
+++ b/ExtendedWPFToolkitSolution_35/Src/Xceed.Wpf.Toolkit/PropertyGrid/Implementation/Definitions/PropertyDefinitionBase.cs
@@ -68,7 +68,10 @@ namespace Xceed.Wpf.Toolkit.PropertyGrid
}
}
- _targetProperties = new ReadOnlyCollection( newList );
+ //In Designer Mode, the Designer is broken if using a ReadOnlyCollection
+ _targetProperties = DesignerProperties.GetIsInDesignMode( this )
+ ? new Collection( newList )
+ : new ReadOnlyCollection( newList ) as IList;
}
}
}
diff --git a/ExtendedWPFToolkitSolution_35/Src/Xceed.Wpf.Toolkit/PropertyGrid/Implementation/ObjectContainerHelperBase.cs b/ExtendedWPFToolkitSolution_35/Src/Xceed.Wpf.Toolkit/PropertyGrid/Implementation/ObjectContainerHelperBase.cs
index 41f0553c..a71391fa 100644
--- a/ExtendedWPFToolkitSolution_35/Src/Xceed.Wpf.Toolkit/PropertyGrid/Implementation/ObjectContainerHelperBase.cs
+++ b/ExtendedWPFToolkitSolution_35/Src/Xceed.Wpf.Toolkit/PropertyGrid/Implementation/ObjectContainerHelperBase.cs
@@ -346,8 +346,14 @@ namespace Xceed.Wpf.Toolkit.PropertyGrid
DescriptorPropertyDefinitionBase pd = propertyItem.DescriptorDefinition;
object definitionKey = null;
Type definitionKeyAsType = definitionKey as Type;
+ ITypeEditor editor = null;
+
+ if( pd.IsReadOnly )
+ editor = new TextBlockEditor();
+
+ if( editor == null )
+ editor = pd.CreateAttributeEditor();
- ITypeEditor editor = pd.CreateAttributeEditor();
if( editor != null )
editorElement = editor.ResolveEditor( propertyItem );
@@ -360,9 +366,6 @@ namespace Xceed.Wpf.Toolkit.PropertyGrid
if( editorElement == null )
{
- if( pd.IsReadOnly )
- editor = new TextBlockEditor();
-
// Fallback: Use a default type editor.
if( editor == null )
{