This commit is contained in:
martinivanoff 2017-05-25 17:43:07 +03:00
Родитель 7b166df067
Коммит 18eb625c6a
228 изменённых файлов: 2100 добавлений и 1700 удалений

Просмотреть файл

@ -39,14 +39,12 @@
<RowDefinition Height="Auto" />
<RowDefinition />
</Grid.RowDefinitions>
<telerik:RadCloudUpload x:Name="cloudUpload1" />
<ScrollViewer Grid.Row="1" ScrollViewer.VerticalScrollBarVisibility="Auto">
<StackPanel>
<telerik:RadCloudUploadList ItemsSource="{Binding InvalidItems, ElementName=cloudUpload1}" />
<telerik:RadCloudUploadList ItemsSource="{Binding ValidItems, ElementName=cloudUpload1}" />
</StackPanel>
</ScrollViewer>
</Grid>
<telerik:RadCloudUpload x:Name="cloudUpload1" />
<StackPanel Grid.Row="1">
<telerik:RadCloudUploadList ItemsSource="{Binding InvalidItems, ElementName=cloudUpload1}" />
<telerik:RadCloudUploadList ItemsSource="{Binding ValidItems, ElementName=cloudUpload1}" />
</StackPanel>
</Grid>
</Border>
<Border Grid.Row="1" Grid.Column="1" Margin="5" BorderBrush="Black" BorderThickness="1">

Просмотреть файл

@ -1,4 +1,6 @@
##Custom Amazon S3 Provider##
This code sample demonstrates one possible approach to implementing a custom AmazonS3 upload provider and using it with the RadCloudUpload.
To see and run the example, please use the 'Open in VS' button and execute the project inside Visual Studio.
To see and run the example, please use the 'Open in VS' button and execute the project inside Visual Studio.
<keywords: amazons3uploadprovider, amazons3provider>

Просмотреть файл

@ -40,12 +40,10 @@
<RowDefinition />
</Grid.RowDefinitions>
<telerik:RadCloudUpload x:Name="cloudUpload1" />
<ScrollViewer Grid.Row="1" ScrollViewer.VerticalScrollBarVisibility="Auto">
<StackPanel>
<telerik:RadCloudUploadList ItemsSource="{Binding InvalidItems, ElementName=cloudUpload1}" />
<telerik:RadCloudUploadList ItemsSource="{Binding ValidItems, ElementName=cloudUpload1}" />
</StackPanel>
</ScrollViewer>
<StackPanel Grid.Row="1">
<telerik:RadCloudUploadList ItemsSource="{Binding InvalidItems, ElementName=cloudUpload1}" />
<telerik:RadCloudUploadList ItemsSource="{Binding ValidItems, ElementName=cloudUpload1}" />
</StackPanel>
</Grid>
</Border>

Просмотреть файл

@ -1,4 +1,6 @@
##Custom Azure Provider##
This code sample demonstrates one possible approach to implementing a custom azure upload provider and using it with the RadCloudUpload.
To see and run the example, please use the 'Open in VS' button and execute the project inside Visual Studio.
To see and run the example, please use the 'Open in VS' button and execute the project inside Visual Studio.
<keywords: azureprovider, azureuploadprovider>

Просмотреть файл

@ -33,12 +33,10 @@
<telerik:CloudUploadFileSizeValidationRule MaxFileSize="1048576" />
</telerik:RadCloudUpload.ValidationRules>
</telerik:RadCloudUpload>
<ScrollViewer Grid.Row="1" ScrollViewer.VerticalScrollBarVisibility="Auto">
<StackPanel>
<telerik:RadCloudUploadList ItemsSource="{Binding InvalidItems, ElementName=cloudUpload1}" />
<telerik:RadCloudUploadList ItemsSource="{Binding ValidItems, ElementName=cloudUpload1}" />
</StackPanel>
</ScrollViewer>
<StackPanel Grid.Row="1">
<telerik:RadCloudUploadList ItemsSource="{Binding InvalidItems, ElementName=cloudUpload1}" />
<telerik:RadCloudUploadList ItemsSource="{Binding ValidItems, ElementName=cloudUpload1}" />
</StackPanel>
</Grid>
</Border>

Просмотреть файл

@ -1,4 +1,6 @@
##Custom Telerik Backend Services Provider##
This code sample demonstrates one possible approach to implementing a custom Telerik Backend Services upload provider and using it with the RadCloudUpload.
To see and run the example, please use the 'Open in VS' button and execute the project inside Visual Studio.
To see and run the example, please use the 'Open in VS' button and execute the project inside Visual Studio.
<keywords: iclouduploadprovider, everliveappsettings>

Просмотреть файл

@ -22,11 +22,8 @@
<local:DummyProvider />
</telerik:RadCloudUpload.Provider>
</telerik:RadCloudUpload>
<ScrollViewer VerticalScrollBarVisibility="Auto"
Grid.Row="2">
<telerik:RadCloudUploadList ItemsSource="{Binding Items, ElementName=CloudUpload}"
<telerik:RadCloudUploadList Grid.Row="2" ItemsSource="{Binding Items, ElementName=CloudUpload}"
AllowDrop="True"
Drop="CloudUpload_Drop" />
</ScrollViewer>
</Grid>
</Window>

Просмотреть файл

@ -1,2 +1,4 @@
##Drag And Drop##
This code sample demonstrates one possible approach to upload files after dragging them in a RadCloudUpload control or in a RadCloudUploadList.
This code sample demonstrates one possible approach to upload files after dragging them in a RadCloudUpload control or in a RadCloudUploadList.
<keywords: radclouduploadlist, iclouduploadprovider>

Просмотреть файл

@ -1,8 +1,6 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2013
VisualStudioVersion = 12.0.21005.1
MinimumVisualStudioVersion = 10.0.40219.1
# Visual Studio 2012
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EditableTextBoxTemplate_WPF", "EditableTextBoxTemplate\EditableTextBoxTemplate_WPF.csproj", "{60DCD997-FBDC-4E16-B107-BE65DCAF3A26}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DropDownWithHeaders_WPF", "DropDownWithHeaders\DropDownWithHeaders_WPF.csproj", "{BD57E1E4-86AE-4351-BEAB-4A7C89C9C170}"
@ -187,6 +185,44 @@ Global
{A125E58E-B1B7-4202-8806-24091CB31855}.ReleaseTrial451.NoXaml|Any CPU.Build.0 = Release|Any CPU
{A125E58E-B1B7-4202-8806-24091CB31855}.ReleaseTrial451|Any CPU.ActiveCfg = Release|Any CPU
{A125E58E-B1B7-4202-8806-24091CB31855}.ReleaseTrial451|Any CPU.Build.0 = Release|Any CPU
{9AC31086-AE98-49CB-9883-1336F5EEBB1F}.Debug.NoXaml|Any CPU.ActiveCfg = Debug|Any CPU
{9AC31086-AE98-49CB-9883-1336F5EEBB1F}.Debug.NoXaml|Any CPU.Build.0 = Debug|Any CPU
{9AC31086-AE98-49CB-9883-1336F5EEBB1F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9AC31086-AE98-49CB-9883-1336F5EEBB1F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9AC31086-AE98-49CB-9883-1336F5EEBB1F}.Debug45.NoXaml|Any CPU.ActiveCfg = Debug|Any CPU
{9AC31086-AE98-49CB-9883-1336F5EEBB1F}.Debug45.NoXaml|Any CPU.Build.0 = Debug|Any CPU
{9AC31086-AE98-49CB-9883-1336F5EEBB1F}.Debug45|Any CPU.ActiveCfg = Debug|Any CPU
{9AC31086-AE98-49CB-9883-1336F5EEBB1F}.Debug45|Any CPU.Build.0 = Debug|Any CPU
{9AC31086-AE98-49CB-9883-1336F5EEBB1F}.Debug451.NoXaml|Any CPU.ActiveCfg = Debug|Any CPU
{9AC31086-AE98-49CB-9883-1336F5EEBB1F}.Debug451.NoXaml|Any CPU.Build.0 = Debug|Any CPU
{9AC31086-AE98-49CB-9883-1336F5EEBB1F}.Debug451|Any CPU.ActiveCfg = Debug|Any CPU
{9AC31086-AE98-49CB-9883-1336F5EEBB1F}.Debug451|Any CPU.Build.0 = Debug|Any CPU
{9AC31086-AE98-49CB-9883-1336F5EEBB1F}.Release.NoXaml|Any CPU.ActiveCfg = Release|Any CPU
{9AC31086-AE98-49CB-9883-1336F5EEBB1F}.Release.NoXaml|Any CPU.Build.0 = Release|Any CPU
{9AC31086-AE98-49CB-9883-1336F5EEBB1F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9AC31086-AE98-49CB-9883-1336F5EEBB1F}.Release|Any CPU.Build.0 = Release|Any CPU
{9AC31086-AE98-49CB-9883-1336F5EEBB1F}.Release45.NoXaml|Any CPU.ActiveCfg = Release|Any CPU
{9AC31086-AE98-49CB-9883-1336F5EEBB1F}.Release45.NoXaml|Any CPU.Build.0 = Release|Any CPU
{9AC31086-AE98-49CB-9883-1336F5EEBB1F}.Release45|Any CPU.ActiveCfg = Release|Any CPU
{9AC31086-AE98-49CB-9883-1336F5EEBB1F}.Release45|Any CPU.Build.0 = Release|Any CPU
{9AC31086-AE98-49CB-9883-1336F5EEBB1F}.Release451.NoXaml|Any CPU.ActiveCfg = Release|Any CPU
{9AC31086-AE98-49CB-9883-1336F5EEBB1F}.Release451.NoXaml|Any CPU.Build.0 = Release|Any CPU
{9AC31086-AE98-49CB-9883-1336F5EEBB1F}.Release451|Any CPU.ActiveCfg = Release|Any CPU
{9AC31086-AE98-49CB-9883-1336F5EEBB1F}.Release451|Any CPU.Build.0 = Release|Any CPU
{9AC31086-AE98-49CB-9883-1336F5EEBB1F}.ReleaseNoCA|Any CPU.ActiveCfg = Release|Any CPU
{9AC31086-AE98-49CB-9883-1336F5EEBB1F}.ReleaseNoCA|Any CPU.Build.0 = Release|Any CPU
{9AC31086-AE98-49CB-9883-1336F5EEBB1F}.ReleaseTrial.NoXaml|Any CPU.ActiveCfg = Release|Any CPU
{9AC31086-AE98-49CB-9883-1336F5EEBB1F}.ReleaseTrial.NoXaml|Any CPU.Build.0 = Release|Any CPU
{9AC31086-AE98-49CB-9883-1336F5EEBB1F}.ReleaseTrial|Any CPU.ActiveCfg = Release|Any CPU
{9AC31086-AE98-49CB-9883-1336F5EEBB1F}.ReleaseTrial|Any CPU.Build.0 = Release|Any CPU
{9AC31086-AE98-49CB-9883-1336F5EEBB1F}.ReleaseTrial45.NoXaml|Any CPU.ActiveCfg = Release|Any CPU
{9AC31086-AE98-49CB-9883-1336F5EEBB1F}.ReleaseTrial45.NoXaml|Any CPU.Build.0 = Release|Any CPU
{9AC31086-AE98-49CB-9883-1336F5EEBB1F}.ReleaseTrial45|Any CPU.ActiveCfg = Release|Any CPU
{9AC31086-AE98-49CB-9883-1336F5EEBB1F}.ReleaseTrial45|Any CPU.Build.0 = Release|Any CPU
{9AC31086-AE98-49CB-9883-1336F5EEBB1F}.ReleaseTrial451.NoXaml|Any CPU.ActiveCfg = Release|Any CPU
{9AC31086-AE98-49CB-9883-1336F5EEBB1F}.ReleaseTrial451.NoXaml|Any CPU.Build.0 = Release|Any CPU
{9AC31086-AE98-49CB-9883-1336F5EEBB1F}.ReleaseTrial451|Any CPU.ActiveCfg = Release|Any CPU
{9AC31086-AE98-49CB-9883-1336F5EEBB1F}.ReleaseTrial451|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

Просмотреть файл

@ -0,0 +1,55 @@
using System.Collections.ObjectModel;
using Telerik.Windows.Controls;
namespace SelectedItemsBinding
{
public class AgencyViewModel : ViewModelBase
{
private ObservableCollection<string> agencies;
private ObservableCollection<string> selectedAgencies;
public AgencyViewModel()
{
this.SelectedAgencies = new ObservableCollection<string>() { this.Agencies[0], this.Agencies[1] };
}
public ObservableCollection<string> SelectedAgencies
{
get
{
return this.selectedAgencies;
}
set
{
if (this.selectedAgencies != value)
{
this.selectedAgencies = value;
this.OnPropertyChanged(() => this.SelectedAgencies);
}
}
}
public ObservableCollection<string> Agencies
{
get
{
if (this.agencies == null)
{
this.agencies = new ObservableCollection<string>();
this.agencies.Add("Item 1");
this.agencies.Add("Item 2");
this.agencies.Add("Item 3");
this.agencies.Add("Item 4");
this.agencies.Add("Item 5");
this.agencies.Add("Item 6");
this.agencies.Add("Item 7");
this.agencies.Add("Item 8");
this.agencies.Add("Item 9");
}
return this.agencies;
}
}
}
}

Просмотреть файл

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
</configuration>

Просмотреть файл

@ -0,0 +1,14 @@
<Application x:Class="SelectedItemsBinding.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
StartupUri="MainWindow.xaml">
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/Telerik.Windows.Themes.Windows8;component/Themes/System.Windows.xaml"/>
<ResourceDictionary Source="/Telerik.Windows.Themes.Windows8;component/Themes/Telerik.Windows.Controls.xaml"/>
<ResourceDictionary Source="/Telerik.Windows.Themes.Windows8;component/Themes/Telerik.Windows.Controls.Input.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
</Application>

Просмотреть файл

@ -0,0 +1,11 @@
using System.Windows;
namespace SelectedItemsBinding
{
/// <summary>
/// Interaction logic for App.xaml
/// </summary>
public partial class App : Application
{
}
}

Просмотреть файл

@ -0,0 +1,31 @@
<Window x:Class="SelectedItemsBinding.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:SelectedItemsBinding"
xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"
xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
Title="MainWindow" Height="350" Width="700">
<StackPanel>
<TextBlock FontSize="16" Margin="10" TextWrapping="Wrap">The SelectedItems property of the RadComboBox is bound to a property of the ViewModel class.</TextBlock>
<telerik:RadComboBox x:Name="radComboBox"
Width="225"
Margin="0 50 0 0"
ItemsSource="{Binding Agencies}"
AllowMultipleSelection="True">
<i:Interaction.Behaviors>
<local:SelectedItemsBehavior SelectedItems="{Binding SelectedAgencies}" />
</i:Interaction.Behaviors>
</telerik:RadComboBox>
<StackPanel Orientation="Horizontal"
Width="225"
Margin="0 15 0 0" >
<TextBlock Text="Number of selected items: "
FontSize="16"/>
<TextBlock Text="{Binding SelectedAgencies.Count}"
FontSize="16"
Foreground="DarkRed"
FontWeight="Bold"/>
</StackPanel>
</StackPanel>
</Window>

Просмотреть файл

@ -0,0 +1,17 @@
using SelectedItemsBinding;
using System.Windows;
namespace SelectedItemsBinding
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
this.DataContext = new AgencyViewModel();
}
}
}

Просмотреть файл

@ -1,6 +1,7 @@
<Deployment xmlns="http://schemas.microsoft.com/client/2007/deployment"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
>
<Deployment.Parts>
</Deployment.Parts>
</Deployment>
<Deployment xmlns="http://schemas.microsoft.com/client/2007/deployment"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
>
<Deployment.Parts>
</Deployment.Parts>
</Deployment>

Просмотреть файл

@ -1,35 +1,35 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("Search")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Microsoft")]
[assembly: AssemblyProduct("Search")]
[assembly: AssemblyCopyright("Copyright © Microsoft 2013")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("b4ee092a-e080-41ef-a55c-863f00e57a2e")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Revision and Build Numbers
// by using the '*' as shown below:
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("SelectedItemsBinding")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("SelectedItemsBinding")]
[assembly: AssemblyCopyright("Copyright © 2017")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("461f0cf6-43e3-4711-9360-6524fd907478")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Revision and Build Numbers
// by using the '*' as shown below:
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

Просмотреть файл

@ -0,0 +1,4 @@
##Selected Items Binding##
This example demonstrates how to bind the selected items of the RadComboBox control to a property in your ViewModel class.
<keywords:selected, items, binding>

Просмотреть файл

@ -0,0 +1,89 @@
using System.Collections;
using System.Collections.Specialized;
using System.Windows;
using System.Windows.Interactivity;
using Telerik.Windows.Controls;
namespace SelectedItemsBinding
{
public class SelectedItemsBehavior : Behavior<RadComboBox>
{
private RadComboBox ComboBox
{
get
{
return this.AssociatedObject as RadComboBox;
}
}
public INotifyCollectionChanged SelectedItems
{
get { return (INotifyCollectionChanged)this.GetValue(SelectedItemsProperty); }
set { this.SetValue(SelectedItemsProperty, value); }
}
// Using a DependencyProperty as the backing store for SelectedItemsProperty. This enables animation, styling, binding, etc...
public static readonly DependencyProperty SelectedItemsProperty =
DependencyProperty.Register("SelectedItems", typeof(INotifyCollectionChanged), typeof(SelectedItemsBehavior), new PropertyMetadata(OnSelectedItemsPropertyChanged));
private static void OnSelectedItemsPropertyChanged(DependencyObject target, DependencyPropertyChangedEventArgs args)
{
var collection = args.NewValue as INotifyCollectionChanged;
if (collection != null)
{
((SelectedItemsBehavior)target).UpdateTransfer(args.NewValue);
collection.CollectionChanged += ((SelectedItemsBehavior)target).ContextSelectedItems_CollectionChanged;
}
}
private void UpdateTransfer(object items)
{
Transfer(items as IList, this.ComboBox.SelectedItems);
this.ComboBox.SelectionChanged += this.ComboSelectionChanged;
}
private void ContextSelectedItems_CollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
{
this.UnsubscribeFromEvents();
Transfer(SelectedItems as IList, this.ComboBox.SelectedItems);
this.SubscribeToEvents();
}
private void ComboSelectionChanged(object sender, System.Windows.Controls.SelectionChangedEventArgs e)
{
this.UnsubscribeFromEvents();
Transfer(this.ComboBox.SelectedItems, SelectedItems as IList);
this.SubscribeToEvents();
}
private void SubscribeToEvents()
{
this.ComboBox.SelectionChanged += this.ComboSelectionChanged;
if (this.SelectedItems != null)
{
this.SelectedItems.CollectionChanged += this.ContextSelectedItems_CollectionChanged;
}
}
private void UnsubscribeFromEvents()
{
this.ComboBox.SelectionChanged -= this.ComboSelectionChanged;
if (this.SelectedItems != null)
{
this.SelectedItems.CollectionChanged -= this.ContextSelectedItems_CollectionChanged;
}
}
public static void Transfer(IList source, IList target)
{
if (source == null || target == null)
return;
target.Clear();
foreach (var o in source)
{
target.Add(o);
}
}
}
}

Просмотреть файл

@ -1,105 +1,108 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{83FFB3E4-4630-4D7D-BB51-08CD24D20141}</ProjectGuid>
<OutputType>WinExe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Search</RootNamespace>
<AssemblyName>Search</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System.Xaml">
<RequiredTargetFramework>4.0</RequiredTargetFramework>
</Reference>
<Reference Include="Telerik.Windows.Controls">
<HintPath>$(TELERIKWPFDIR)\Binaries\WPF40\Telerik.Windows.Controls.dll</HintPath>
</Reference>
<Reference Include="Telerik.Windows.Controls.Input, Version=2014.2.617.40, Culture=neutral, PublicKeyToken=5803cfa389c90ce7, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>$(TELERIKWPFDIR)\Binaries\WPF40\Telerik.Windows.Controls.Input.dll</HintPath>
</Reference>
<Reference Include="Telerik.Windows.Data">
<HintPath>$(TELERIKWPFDIR)\Binaries\WPF40\Telerik.Windows.Data.dll</HintPath>
</Reference>
<Reference Include="Telerik.Windows.Controls.DataVisualization">
<HintPath>$(TELERIKWPFDIR)\Binaries\WPF40\Telerik.Windows.Controls.DataVisualization.dll</HintPath>
</Reference>
<Reference Include="WindowsBase" />
<Reference Include="PresentationCore" />
<Reference Include="PresentationFramework" />
</ItemGroup>
<ItemGroup>
<ApplicationDefinition Include="App.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</ApplicationDefinition>
<Page Include="MainWindow.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Compile Include="App.xaml.cs">
<DependentUpon>App.xaml</DependentUpon>
<SubType>Code</SubType>
</Compile>
<Compile Include="MainWindow.xaml.cs">
<DependentUpon>MainWindow.xaml</DependentUpon>
<SubType>Code</SubType>
</Compile>
</ItemGroup>
<ItemGroup>
<Compile Include="MapItem.cs" />
<Compile Include="MapItemsCollection.cs" />
<Compile Include="Properties\AssemblyInfo.cs">
<SubType>Code</SubType>
</Compile>
<AppDesigner Include="Properties\" />
</ItemGroup>
<ItemGroup>
<Resource Include="Readme.md" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{9AC31086-AE98-49CB-9883-1336F5EEBB1F}</ProjectGuid>
<OutputType>WinExe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>SelectedItemsBinding</RootNamespace>
<AssemblyName>SelectedItemsBinding</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup>
<StartupObject>SelectedItemsBinding.App</StartupObject>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Windows.Interactivity, Version=4.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" />
<Reference Include="System.Xml" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System.Xaml">
<RequiredTargetFramework>4.0</RequiredTargetFramework>
</Reference>
<Reference Include="Telerik.Windows.Controls">
<HintPath>$(TELERIKWPFDIR)\Binaries.NoXaml\WPF40\Telerik.Windows.Controls.dll</HintPath>
</Reference>
<Reference Include="Telerik.Windows.Controls.Input">
<HintPath>$(TELERIKWPFDIR)\Binaries.NoXaml\WPF40\Telerik.Windows.Controls.Input.dll</HintPath>
</Reference>
<Reference Include="Telerik.Windows.Themes.Windows8">
<HintPath>$(TELERIKWPFDIR)\Binaries.NoXaml\WPF40\Telerik.Windows.Themes.Windows8.dll</HintPath>
</Reference>
<Reference Include="WindowsBase" />
<Reference Include="PresentationCore" />
<Reference Include="PresentationFramework" />
</ItemGroup>
<ItemGroup>
<ApplicationDefinition Include="App.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</ApplicationDefinition>
<Compile Include="SelectedItemsBehavior.cs" />
<Page Include="MainWindow.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Compile Include="AgencyViewModel.cs" />
<Compile Include="App.xaml.cs">
<DependentUpon>App.xaml</DependentUpon>
<SubType>Code</SubType>
</Compile>
<Compile Include="MainWindow.xaml.cs">
<DependentUpon>MainWindow.xaml</DependentUpon>
<SubType>Code</SubType>
</Compile>
</ItemGroup>
<ItemGroup>
<Compile Include="Properties\AssemblyInfo.cs">
<SubType>Code</SubType>
</Compile>
<AppDesigner Include="Properties\" />
</ItemGroup>
<ItemGroup>
<None Include="App.config" />
</ItemGroup>
<ItemGroup>
<Resource Include="Readme.md" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

Просмотреть файл

@ -1,8 +1,16 @@

Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2012
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DataTemplateSelector_SL", "DataTemplateSelector\DataTemplateSelector_SL.csproj", "{BA6A2F52-2D70-4D92-98DF-7B28C1CD4BF7}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CustomKeyboardCommandProvider_SL", "CustomKeyboardCommandProvider\CustomKeyboardCommandProvider_SL.csproj", "{E590FF17-3ECD-467E-BF17-2FB8EF72C223}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DefiningCustomDataFields_SL", "DefiningCustomDataFields\DefiningCustomDataFields_SL.csproj", "{837891D9-7074-4A16-9E17-00A7ACD365A0}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IntegrateWithRadGridView_SL", "IntegrateWithRadGridView\IntegrateWithRadGridView_SL.csproj", "{FC753E11-95F6-4341-8A81-DD550B57E306}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ValidationSummaryOutsideDataForm_SL", "ValidationSummaryOutsideDataForm\ValidationSummaryOutsideDataForm_SL.csproj", "{6152F69D-2DE0-4939-8F09-70ECA9C51BAD}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@ -14,6 +22,22 @@ Global
{BA6A2F52-2D70-4D92-98DF-7B28C1CD4BF7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{BA6A2F52-2D70-4D92-98DF-7B28C1CD4BF7}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BA6A2F52-2D70-4D92-98DF-7B28C1CD4BF7}.Release|Any CPU.Build.0 = Release|Any CPU
{E590FF17-3ECD-467E-BF17-2FB8EF72C223}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E590FF17-3ECD-467E-BF17-2FB8EF72C223}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E590FF17-3ECD-467E-BF17-2FB8EF72C223}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E590FF17-3ECD-467E-BF17-2FB8EF72C223}.Release|Any CPU.Build.0 = Release|Any CPU
{837891D9-7074-4A16-9E17-00A7ACD365A0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{837891D9-7074-4A16-9E17-00A7ACD365A0}.Debug|Any CPU.Build.0 = Debug|Any CPU
{837891D9-7074-4A16-9E17-00A7ACD365A0}.Release|Any CPU.ActiveCfg = Release|Any CPU
{837891D9-7074-4A16-9E17-00A7ACD365A0}.Release|Any CPU.Build.0 = Release|Any CPU
{FC753E11-95F6-4341-8A81-DD550B57E306}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{FC753E11-95F6-4341-8A81-DD550B57E306}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FC753E11-95F6-4341-8A81-DD550B57E306}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FC753E11-95F6-4341-8A81-DD550B57E306}.Release|Any CPU.Build.0 = Release|Any CPU
{6152F69D-2DE0-4939-8F09-70ECA9C51BAD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6152F69D-2DE0-4939-8F09-70ECA9C51BAD}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6152F69D-2DE0-4939-8F09-70ECA9C51BAD}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6152F69D-2DE0-4939-8F09-70ECA9C51BAD}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

Просмотреть файл

@ -1,8 +1,16 @@

Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2012
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DataTemplateSelector_WPF", "DataTemplateSelector\DataTemplateSelector_WPF.csproj", "{3D9EFF85-F8D1-4E68-94BE-341A6F58439F}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CustomKeyboardCommandProvider_WPF", "CustomKeyboardCommandProvider\CustomKeyboardCommandProvider_WPF.csproj", "{86E52F09-D0BB-4C89-9A20-7EE8B68B8F9D}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DefiningCustomDataFields_WPF", "DefiningCustomDataFields\DefiningCustomDataFields_WPF.csproj", "{7A46CAC0-06ED-4B3A-9A2F-6E196098848E}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IntegrateWithRadGridView_WPF", "IntegrateWithRadGridView\IntegrateWithRadGridView_WPF.csproj", "{386A4AF2-C28A-4C28-97A9-6F699A87FEE0}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ValidationSummaryOutsideDataForm_WPF", "ValidationSummaryOutsideDataForm\ValidationSummaryOutsideDataForm_WPF.csproj", "{EC114D11-6E47-4702-B085-9ABDC95B8B7F}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@ -20,6 +28,36 @@ Global
{3D9EFF85-F8D1-4E68-94BE-341A6F58439F}.Release|Any CPU.Build.0 = Release|Any CPU
{3D9EFF85-F8D1-4E68-94BE-341A6F58439F}.Release|x86.ActiveCfg = Release|x86
{3D9EFF85-F8D1-4E68-94BE-341A6F58439F}.Release|x86.Build.0 = Release|x86
{86E52F09-D0BB-4C89-9A20-7EE8B68B8F9D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{86E52F09-D0BB-4C89-9A20-7EE8B68B8F9D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{86E52F09-D0BB-4C89-9A20-7EE8B68B8F9D}.Debug|x86.ActiveCfg = Debug|x86
{86E52F09-D0BB-4C89-9A20-7EE8B68B8F9D}.Debug|x86.Build.0 = Debug|x86
{86E52F09-D0BB-4C89-9A20-7EE8B68B8F9D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{86E52F09-D0BB-4C89-9A20-7EE8B68B8F9D}.Release|Any CPU.Build.0 = Release|Any CPU
{86E52F09-D0BB-4C89-9A20-7EE8B68B8F9D}.Release|x86.ActiveCfg = Release|x86
{86E52F09-D0BB-4C89-9A20-7EE8B68B8F9D}.Release|x86.Build.0 = Release|x86
{7A46CAC0-06ED-4B3A-9A2F-6E196098848E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7A46CAC0-06ED-4B3A-9A2F-6E196098848E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7A46CAC0-06ED-4B3A-9A2F-6E196098848E}.Debug|x86.ActiveCfg = Debug|x86
{7A46CAC0-06ED-4B3A-9A2F-6E196098848E}.Debug|x86.Build.0 = Debug|x86
{7A46CAC0-06ED-4B3A-9A2F-6E196098848E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7A46CAC0-06ED-4B3A-9A2F-6E196098848E}.Release|Any CPU.Build.0 = Release|Any CPU
{7A46CAC0-06ED-4B3A-9A2F-6E196098848E}.Release|x86.ActiveCfg = Release|x86
{7A46CAC0-06ED-4B3A-9A2F-6E196098848E}.Release|x86.Build.0 = Release|x86
{386A4AF2-C28A-4C28-97A9-6F699A87FEE0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{386A4AF2-C28A-4C28-97A9-6F699A87FEE0}.Debug|Any CPU.Build.0 = Debug|Any CPU
{386A4AF2-C28A-4C28-97A9-6F699A87FEE0}.Debug|x86.ActiveCfg = Debug|x86
{386A4AF2-C28A-4C28-97A9-6F699A87FEE0}.Debug|x86.Build.0 = Debug|x86
{386A4AF2-C28A-4C28-97A9-6F699A87FEE0}.Release|Any CPU.ActiveCfg = Release|Any CPU
{386A4AF2-C28A-4C28-97A9-6F699A87FEE0}.Release|Any CPU.Build.0 = Release|Any CPU
{386A4AF2-C28A-4C28-97A9-6F699A87FEE0}.Release|x86.ActiveCfg = Release|x86
{386A4AF2-C28A-4C28-97A9-6F699A87FEE0}.Release|x86.Build.0 = Release|x86
{EC114D11-6E47-4702-B085-9ABDC95B8B7F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{EC114D11-6E47-4702-B085-9ABDC95B8B7F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{EC114D11-6E47-4702-B085-9ABDC95B8B7F}.Debug|x86.ActiveCfg = Debug|Any CPU
{EC114D11-6E47-4702-B085-9ABDC95B8B7F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{EC114D11-6E47-4702-B085-9ABDC95B8B7F}.Release|Any CPU.Build.0 = Release|Any CPU
{EC114D11-6E47-4702-B085-9ABDC95B8B7F}.Release|x86.ActiveCfg = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

Просмотреть файл

@ -1,8 +1,8 @@
<Application x:Class="Search.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
StartupUri="MainWindow.xaml">
<Application.Resources>
</Application.Resources>
</Application>
<Application x:Class="ValidationSummaryOutsideDataForm_WPF.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
StartupUri="MainWindow.xaml">
<Application.Resources>
</Application.Resources>
</Application>

Просмотреть файл

@ -0,0 +1,16 @@
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Windows;
namespace ValidationSummaryOutsideDataForm_WPF
{
/// <summary>
/// Interaction logic for App.xaml
/// </summary>
public partial class App : Application
{
}
}

Просмотреть файл

@ -1,8 +1,8 @@
<Application xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="Search.App"
>
<Application.Resources>
</Application.Resources>
</Application>
<Application xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="ValidationSummaryOutsideDataForm_SL.App"
>
<Application.Resources>
</Application.Resources>
</Application>

Просмотреть файл

@ -0,0 +1,68 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
namespace ValidationSummaryOutsideDataForm_SL
{
public partial class App : Application
{
public App()
{
this.Startup += this.Application_Startup;
this.Exit += this.Application_Exit;
this.UnhandledException += this.Application_UnhandledException;
InitializeComponent();
}
private void Application_Startup(object sender, StartupEventArgs e)
{
this.RootVisual = new MainPage();
}
private void Application_Exit(object sender, EventArgs e)
{
}
private void Application_UnhandledException(object sender, ApplicationUnhandledExceptionEventArgs e)
{
// If the app is running outside of the debugger then report the exception using
// the browser's exception mechanism. On IE this will display it a yellow alert
// icon in the status bar and Firefox will display a script error.
if (!System.Diagnostics.Debugger.IsAttached)
{
// NOTE: This will allow the application to continue running after an exception has been thrown
// but not handled.
// For production applications this error handling should be replaced with something that will
// report the error to the website and stop the application.
e.Handled = true;
Deployment.Current.Dispatcher.BeginInvoke(delegate { ReportErrorToDOM(e); });
}
}
private void ReportErrorToDOM(ApplicationUnhandledExceptionEventArgs e)
{
try
{
string errorMsg = e.ExceptionObject.Message + e.ExceptionObject.StackTrace;
errorMsg = errorMsg.Replace('"', '\'').Replace("\r\n", @"\n");
System.Windows.Browser.HtmlPage.Window.Eval("throw new Error(\"Unhandled Error in Silverlight Application " + errorMsg + "\");");
}
catch (Exception)
{
}
}
}
}

Просмотреть файл

@ -0,0 +1,112 @@
using System;
using System.ComponentModel;
using System.Collections.ObjectModel;
namespace ValidationSummaryOutsideDataForm
{
/// <summary>
/// A football club.
/// </summary>
public class Club : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
private string name;
private DateTime established;
private int stadiumCapacity;
public string Name
{
get { return this.name; }
set
{
if (value != this.name)
{
this.name = value;
this.OnPropertyChanged("Name");
}
}
}
public DateTime Established
{
get { return this.established; }
set
{
if (value != this.established)
{
this.established = value;
this.OnPropertyChanged("Established");
}
}
}
public int StadiumCapacity
{
get { return this.stadiumCapacity; }
set
{
if (value != this.stadiumCapacity)
{
this.stadiumCapacity = value;
this.OnPropertyChanged("StadiumCapacity");
}
}
}
public Club()
{
}
public Club(string name, DateTime established, int stadiumCapacity)
{
this.name = name;
this.established = established;
this.stadiumCapacity = stadiumCapacity;
}
protected virtual void OnPropertyChanged(PropertyChangedEventArgs args)
{
PropertyChangedEventHandler handler = this.PropertyChanged;
if (handler != null)
{
handler(this, args);
}
}
private void OnPropertyChanged(string propertyName)
{
this.OnPropertyChanged(new PropertyChangedEventArgs(propertyName));
}
public override string ToString()
{
return this.Name;
}
public static ObservableCollection<Club> GetClubs()
{
ObservableCollection<Club> clubs = new ObservableCollection<Club>();
Club club;
// Liverpool
club = new Club("Liverpool", new DateTime(1892, 1, 1), 45362);
clubs.Add(club);
// Manchester Utd.
club = new Club("Manchester Utd.", new DateTime(1878, 1, 1), 76212);
clubs.Add(club);
// Chelsea
club = new Club("Chelsea", new DateTime(1905, 1, 1), 42055);
clubs.Add(club);
// Arsenal
club = new Club("Arsenal", new DateTime(1886, 1, 1), 60355);
clubs.Add(club);
return clubs;
}
}
}

Просмотреть файл

@ -0,0 +1,39 @@
<UserControl x:Class="ValidationSummaryOutsideDataForm_SL.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"
xmlns:telerikDataForm="clr-namespace:Telerik.Windows.Controls.Data.DataForm;assembly=Telerik.Windows.Controls.Data"
xmlns:my="clr-namespace:ValidationSummaryOutsideDataForm"
mc:Ignorable="d" d:DesignHeight="700" d:DesignWidth="700">
<UserControl.Resources>
<my:MyViewModel x:Key="MyViewModel"/>
</UserControl.Resources>
<Grid DataContext="{StaticResource MyViewModel}">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*"/>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<TextBlock Margin="10" Text="Click the &quot;Enter Invalid Data&quot; button and press Enter&#x0a;to display the populated DataFormValidationSummary." />
<telerik:RadGridView Grid.Row="1"
x:Name="clubsGrid"
ItemsSource="{Binding Clubs}"
AutoGenerateColumns="False"
GroupRenderMode="Flat">
<telerik:RadGridView.Columns>
<telerik:GridViewDataColumn DataMemberBinding="{Binding Name}"/>
<telerik:GridViewDataColumn DataMemberBinding="{Binding Established}"
Header="Est."
DataFormatString="{}{0:yyyy}"/>
<telerik:GridViewDataColumn DataMemberBinding="{Binding StadiumCapacity}"
Header="Stadium"
DataFormatString="{}{0:N0}"/>
</telerik:RadGridView.Columns>
</telerik:RadGridView>
<telerikDataForm:DataFormValidationSummary Grid.Row="2" x:Name="ValidationSummary" />
<telerik:RadButton Grid.Row="3" Content="Enter Invalid Data" Click="RadButton_Click" />
</Grid>
</UserControl>

Просмотреть файл

@ -0,0 +1,52 @@
using System.Windows;
using System.Windows.Controls;
using Telerik.Windows.Controls;
using Telerik.Windows.Controls.Data;
using ValidationSummaryOutsideDataForm;
namespace ValidationSummaryOutsideDataForm_SL
{
public partial class MainPage : UserControl
{
public MainPage()
{
InitializeComponent();
this.clubsGrid.RowValidating += ClubsGrid_RowValidating;
}
private void ClubsGrid_RowValidating(object sender, GridViewRowValidatingEventArgs e)
{
this.ValidationSummary.Errors.Clear();
var club = e.Row.DataContext as Club;
if (string.IsNullOrEmpty(club.Name) || club.Name.Length < 5)
{
this.ValidationSummary.Errors.Add(new ErrorInfo()
{
SourceFieldDisplayName = "Name",
ErrorContent = "Name is required and must be at least five characters!"
});
e.IsValid = false;
}
if (club.StadiumCapacity < 0)
{
this.ValidationSummary.Errors.Add(new ErrorInfo()
{
SourceFieldDisplayName = "StadiumCapacity",
ErrorContent = "StadiumCapacity must be positive!"
});
e.IsValid = false;
}
}
private void RadButton_Click(object sender, RoutedEventArgs e)
{
var vm = this.clubsGrid.DataContext as MyViewModel;
var item = vm.Clubs[0];
this.clubsGrid.BeginEdit();
item.Name = "Liv";
item.StadiumCapacity = -1000;
}
}
}

Просмотреть файл

@ -0,0 +1,37 @@
<Window x:Class="ValidationSummaryOutsideDataForm_WPF.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"
xmlns:telerikDataForm="clr-namespace:Telerik.Windows.Controls.Data.DataForm;assembly=Telerik.Windows.Controls.Data"
xmlns:my="clr-namespace:ValidationSummaryOutsideDataForm"
Title="MainWindow" Height="400" Width="400">
<Window.Resources>
<my:MyViewModel x:Key="MyViewModel"/>
</Window.Resources>
<Grid DataContext="{StaticResource MyViewModel}">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*"/>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<TextBlock Margin="10" Text="Click the &quot;Enter Invalid Data&quot; button and press Enter&#x0a;to display the populated DataFormValidationSummary." />
<telerik:RadGridView Grid.Row="1"
Name="clubsGrid"
ItemsSource="{Binding Clubs}"
AutoGenerateColumns="False"
GroupRenderMode="Flat">
<telerik:RadGridView.Columns>
<telerik:GridViewDataColumn DataMemberBinding="{Binding Name}"/>
<telerik:GridViewDataColumn DataMemberBinding="{Binding Established}"
Header="Est."
DataFormatString="{}{0:yyyy}"/>
<telerik:GridViewDataColumn DataMemberBinding="{Binding StadiumCapacity}"
Header="Stadium"
DataFormatString="{}{0:N0}"/>
</telerik:RadGridView.Columns>
</telerik:RadGridView>
<telerikDataForm:DataFormValidationSummary Grid.Row="2" x:Name="ValidationSummary" />
<telerik:RadButton Grid.Row="3" Content="Enter Invalid Data" Click="RadButton_Click" />
</Grid>
</Window>

Просмотреть файл

@ -0,0 +1,54 @@
using System.Windows;
using Telerik.Windows.Controls;
using Telerik.Windows.Controls.Data;
using ValidationSummaryOutsideDataForm;
namespace ValidationSummaryOutsideDataForm_WPF
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
this.clubsGrid.RowValidating += ClubsGrid_RowValidating;
}
private void ClubsGrid_RowValidating(object sender, GridViewRowValidatingEventArgs e)
{
this.ValidationSummary.Errors.Clear();
var club = e.Row.DataContext as Club;
if (string.IsNullOrEmpty(club.Name) || club.Name.Length < 5)
{
this.ValidationSummary.Errors.Add(new ErrorInfo()
{
SourceFieldDisplayName = "Name",
ErrorContent = "Name is required and must be at least five characters!"
});
e.IsValid = false;
}
if (club.StadiumCapacity < 0)
{
this.ValidationSummary.Errors.Add(new ErrorInfo()
{
SourceFieldDisplayName = "StadiumCapacity",
ErrorContent = "StadiumCapacity must be positive!"
});
e.IsValid = false;
}
}
private void RadButton_Click(object sender, RoutedEventArgs e)
{
var vm = this.clubsGrid.DataContext as MyViewModel;
var item = vm.Clubs[0];
this.clubsGrid.BeginEdit();
item.Name = "Liv";
item.StadiumCapacity = -1000;
}
}
}

Просмотреть файл

@ -0,0 +1,53 @@
using System.ComponentModel;
using System.Collections.ObjectModel;
namespace ValidationSummaryOutsideDataForm
{
public class MyViewModel : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
private ObservableCollection<Club> clubs;
private object selectedItem;
public ObservableCollection<Club> Clubs
{
get
{
if (this.clubs == null)
{
this.clubs = Club.GetClubs();
}
return this.clubs;
}
}
public object SelectedItem
{
get { return this.selectedItem; }
set
{
if (value != this.selectedItem)
{
this.selectedItem = value;
this.OnPropertyChanged("SelectedItem");
}
}
}
protected virtual void OnPropertyChanged(PropertyChangedEventArgs args)
{
PropertyChangedEventHandler handler = this.PropertyChanged;
if (handler != null)
{
handler(this, args);
}
}
private void OnPropertyChanged(string propertyName)
{
this.OnPropertyChanged(new PropertyChangedEventArgs(propertyName));
}
}
}

Просмотреть файл

@ -0,0 +1,6 @@
<Deployment xmlns="http://schemas.microsoft.com/client/2007/deployment"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
>
<Deployment.Parts>
</Deployment.Parts>
</Deployment>

Просмотреть файл

@ -1,35 +1,35 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("Search.Web")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Microsoft")]
[assembly: AssemblyProduct("Search.Web")]
[assembly: AssemblyCopyright("Copyright © Microsoft 2013")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("548dc03a-e9e0-4939-b211-a1e467cb70e3")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Revision and Build Numbers
// by using the '*' as shown below:
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("ValidationSummaryOutsideDataForm_SL")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Microsoft")]
[assembly: AssemblyProduct("ValidationSummaryOutsideDataForm_SL")]
[assembly: AssemblyCopyright("Copyright © Microsoft 2010")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("77553b30-e651-4710-a2e1-73444ca181e3")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Revision and Build Numbers
// by using the '*' as shown below:
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

Просмотреть файл

@ -0,0 +1,72 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.1
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace ValidationSummaryOutsideDataForm.Properties
{
using System;
/// <summary>
/// A strongly-typed resource class, for looking up localized strings, etc.
/// </summary>
// This class was auto-generated by the StronglyTypedResourceBuilder
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources
{
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources()
{
}
/// <summary>
/// Returns the cached ResourceManager instance used by this class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager
{
get
{
if (object.ReferenceEquals(resourceMan, null))
{
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("ValidationSummaryOutsideDataForm.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// Overrides the current thread's CurrentUICulture property for all
/// resource lookups using this strongly typed resource class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture
{
get
{
return resourceCulture;
}
set
{
resourceCulture = value;
}
}
}
}

Просмотреть файл

@ -0,0 +1,117 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

Просмотреть файл

@ -0,0 +1,30 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.1
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace ValidationSummaryOutsideDataForm.Properties
{
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
{
private static Settings defaultInstance = ((Settings) (global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
public static Settings Default
{
get
{
return defaultInstance;
}
}
}
}

Просмотреть файл

@ -0,0 +1,7 @@
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="uri:settings" CurrentProfile="(Default)">
<Profiles>
<Profile Name="(Default)" />
</Profiles>
<Settings />
</SettingsFile>

Просмотреть файл

@ -0,0 +1,8 @@
##DataFormValidationSummary Integration##
This example demonstrates how to integrate the DataFormValidationSummary control with RadGridView.
More details can be found in our online help:
For WPF - http://docs.telerik.com/devtools/wpf/controls/raddataform/validation/use-validationsummary-outside-raddataform.html
For SL - http://docs.telerik.com/devtools/silverlight/controls/raddataform/validation/use-validationsummary-outside-raddataform.html
<KeyWords: dataformvalidationsummary>

Просмотреть файл

@ -1,131 +1,132 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>8.0.50727</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{B4EE092A-E080-41EF-A55C-863F00E57A2E}</ProjectGuid>
<ProjectTypeGuids>{A1591282-1198-4647-A2B1-27E5FF5F6F3B};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Search</RootNamespace>
<AssemblyName>Search</AssemblyName>
<TargetFrameworkIdentifier>Silverlight</TargetFrameworkIdentifier>
<TargetFrameworkVersion>v5.0</TargetFrameworkVersion>
<SilverlightVersion>$(TargetFrameworkVersion)</SilverlightVersion>
<SilverlightApplication>true</SilverlightApplication>
<SupportedCultures>
</SupportedCultures>
<XapOutputs>true</XapOutputs>
<GenerateSilverlightManifest>true</GenerateSilverlightManifest>
<XapFilename>Search.xap</XapFilename>
<SilverlightManifestTemplate>Properties\AppManifest.xml</SilverlightManifestTemplate>
<SilverlightAppEntry>Search.App</SilverlightAppEntry>
<TestPageFileName>SearchTestPage.html</TestPageFileName>
<CreateTestPage>true</CreateTestPage>
<ValidateXaml>true</ValidateXaml>
<EnableOutOfBrowser>false</EnableOutOfBrowser>
<OutOfBrowserSettingsFile>Properties\OutOfBrowserSettings.xml</OutOfBrowserSettingsFile>
<UsePlatformExtensions>false</UsePlatformExtensions>
<ThrowErrorsInValidation>true</ThrowErrorsInValidation>
<LinkedServerProject>
</LinkedServerProject>
</PropertyGroup>
<!-- This property group is only here to support building this project using the
MSBuild 3.5 toolset. In order to work correctly with this older toolset, it needs
to set the TargetFrameworkVersion to v3.5 -->
<PropertyGroup Condition="'$(MSBuildToolsVersion)' == '3.5'">
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>Bin\Debug</OutputPath>
<DefineConstants>DEBUG;TRACE;SILVERLIGHT</DefineConstants>
<NoStdLib>true</NoStdLib>
<NoConfig>true</NoConfig>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>Bin\Release</OutputPath>
<DefineConstants>TRACE;SILVERLIGHT</DefineConstants>
<NoStdLib>true</NoStdLib>
<NoConfig>true</NoConfig>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="mscorlib" />
<Reference Include="System.Windows" />
<Reference Include="system" />
<Reference Include="System.Core">
<HintPath>$(TargetFrameworkDirectory)System.Core.dll</HintPath>
</Reference>
<Reference Include="System.Net" />
<Reference Include="System.Xml" />
<Reference Include="System.Windows.Browser" />
<Reference Include="Telerik.Windows.Controls, Version=2014.2.617.1050, Culture=neutral, PublicKeyToken=5803cfa389c90ce7, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>$(TELERIKSLDIR)\Binaries\Silverlight\Telerik.Windows.Controls.dll</HintPath>
</Reference>
<Reference Include="Telerik.Windows.Controls.DataVisualization, Version=2014.2.617.1050, Culture=neutral, PublicKeyToken=5803cfa389c90ce7, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>$(TELERIKSLDIR)\Binaries\Silverlight\Telerik.Windows.Controls.DataVisualization.dll</HintPath>
</Reference>
<Reference Include="Telerik.Windows.Controls.Input, Version=2014.2.617.1050, Culture=neutral, PublicKeyToken=5803cfa389c90ce7, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>$(TELERIKSLDIR)\Binaries\Silverlight\Telerik.Windows.Controls.Input.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="App.xaml.cs">
<DependentUpon>App.xaml</DependentUpon>
</Compile>
<Compile Include="MainPage.xaml.cs">
<DependentUpon>MainPage.xaml</DependentUpon>
</Compile>
<Compile Include="MapItem.cs" />
<Compile Include="MapItemsCollection.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<ApplicationDefinition Include="App.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</ApplicationDefinition>
<Page Include="MainPage.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
</ItemGroup>
<ItemGroup>
<None Include="Properties\AppManifest.xml" />
</ItemGroup>
<ItemGroup>
<Resource Include="Readme.md" />
</ItemGroup>
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\Silverlight\$(SilverlightVersion)\Microsoft.Silverlight.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
<ProjectExtensions>
<VisualStudio>
<FlavorProperties GUID="{A1591282-1198-4647-A2B1-27E5FF5F6F3B}">
<SilverlightProjectProperties />
</FlavorProperties>
</VisualStudio>
</ProjectExtensions>
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>8.0.50727</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{6152F69D-2DE0-4939-8F09-70ECA9C51BAD}</ProjectGuid>
<ProjectTypeGuids>{A1591282-1198-4647-A2B1-27E5FF5F6F3B};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>ValidationSummaryOutsideDataForm_SL</RootNamespace>
<AssemblyName>ValidationSummaryOutsideDataForm_SL</AssemblyName>
<TargetFrameworkIdentifier>Silverlight</TargetFrameworkIdentifier>
<TargetFrameworkVersion>v5.0</TargetFrameworkVersion>
<SilverlightVersion>$(TargetFrameworkVersion)</SilverlightVersion>
<SilverlightApplication>true</SilverlightApplication>
<SupportedCultures>
</SupportedCultures>
<XapOutputs>true</XapOutputs>
<GenerateSilverlightManifest>true</GenerateSilverlightManifest>
<XapFilename>ValidationSummaryOutsideDataForm_SL.xap</XapFilename>
<SilverlightManifestTemplate>Properties\AppManifest.xml</SilverlightManifestTemplate>
<SilverlightAppEntry>ValidationSummaryOutsideDataForm_SL.App</SilverlightAppEntry>
<TestPageFileName>RadGridView_SL5_2012_Q1_TestPage.html</TestPageFileName>
<CreateTestPage>true</CreateTestPage>
<ValidateXaml>true</ValidateXaml>
<EnableOutOfBrowser>false</EnableOutOfBrowser>
<OutOfBrowserSettingsFile>Properties\OutOfBrowserSettings.xml</OutOfBrowserSettingsFile>
<UsePlatformExtensions>false</UsePlatformExtensions>
<ThrowErrorsInValidation>true</ThrowErrorsInValidation>
<LinkedServerProject>
</LinkedServerProject>
</PropertyGroup>
<!-- This property group is only here to support building this project using the
MSBuild 3.5 toolset. In order to work correctly with this older toolset, it needs
to set the TargetFrameworkVersion to v3.5 -->
<PropertyGroup Condition="'$(MSBuildToolsVersion)' == '3.5'">
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>Bin\Debug</OutputPath>
<DefineConstants>DEBUG;TRACE;SILVERLIGHT</DefineConstants>
<NoStdLib>true</NoStdLib>
<NoConfig>true</NoConfig>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>Bin\Release</OutputPath>
<DefineConstants>TRACE;SILVERLIGHT</DefineConstants>
<NoStdLib>true</NoStdLib>
<NoConfig>true</NoConfig>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="mscorlib" />
<Reference Include="System.Windows" />
<Reference Include="system" />
<Reference Include="System.Core" />
<Reference Include="System.Net" />
<Reference Include="System.Xml" />
<Reference Include="System.Windows.Browser" />
<Reference Include="Telerik.Windows.Controls">
<HintPath>$(TELERIKSLDIR)\Binaries\Silverlight\Telerik.Windows.Controls.dll</HintPath>
</Reference>
<Reference Include="Telerik.Windows.Controls.Data">
<HintPath>$(TELERIKSLDIR)\Binaries\Silverlight\Telerik.Windows.Controls.Data.dll</HintPath>
</Reference>
<Reference Include="Telerik.Windows.Controls.GridView">
<HintPath>$(TELERIKSLDIR)\Binaries\Silverlight\Telerik.Windows.Controls.GridView.dll</HintPath>
</Reference>
<Reference Include="Telerik.Windows.Controls.Input">
<HintPath>$(TELERIKSLDIR)\Binaries\Silverlight\Telerik.Windows.Controls.Input.dll</HintPath>
</Reference>
<Reference Include="Telerik.Windows.Controls.Navigation">
<HintPath>$(TELERIKSLDIR)\Binaries\Silverlight\Telerik.Windows.Controls.Navigation.dll</HintPath>
</Reference>
<Reference Include="Telerik.Windows.Data">
<HintPath>$(TELERIKSLDIR)\Binaries\Silverlight\Telerik.Windows.Data.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="App_SL.xaml.cs">
<DependentUpon>App_SL.xaml</DependentUpon>
</Compile>
<Compile Include="Club.cs" />
<Compile Include="MainPage.xaml.cs">
<DependentUpon>MainPage.xaml</DependentUpon>
</Compile>
<Compile Include="MyViewModel.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<Page Include="App_SL.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="MainPage.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
</ItemGroup>
<ItemGroup>
<None Include="Properties\AppManifest.xml" />
</ItemGroup>
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\Silverlight\$(SilverlightVersion)\Microsoft.Silverlight.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
<ProjectExtensions>
<VisualStudio>
<FlavorProperties GUID="{A1591282-1198-4647-A2B1-27E5FF5F6F3B}">
<SilverlightProjectProperties />
</FlavorProperties>
</VisualStudio>
</ProjectExtensions>
</Project>

Просмотреть файл

@ -0,0 +1,130 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>8.0.30703</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{EC114D11-6E47-4702-B085-9ABDC95B8B7F}</ProjectGuid>
<OutputType>WinExe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>ValidationSummaryOutsideDataForm</RootNamespace>
<AssemblyName>ValidationSummaryOutsideDataForm</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup>
<StartupObject>ValidationSummaryOutsideDataForm_WPF.App</StartupObject>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System.Xaml">
<RequiredTargetFramework>4.5</RequiredTargetFramework>
</Reference>
<Reference Include="Telerik.Windows.Controls">
<HintPath>$(TELERIKWPFDIR)\Binaries\WPF40\Telerik.Windows.Controls.dll</HintPath>
</Reference>
<Reference Include="Telerik.Windows.Controls.Data">
<HintPath>$(TELERIKWPFDIR)\Binaries\WPF40\Telerik.Windows.Controls.Data.dll</HintPath>
</Reference>
<Reference Include="Telerik.Windows.Controls.GridView">
<HintPath>$(TELERIKWPFDIR)\Binaries\WPF40\Telerik.Windows.Controls.GridView.dll</HintPath>
</Reference>
<Reference Include="Telerik.Windows.Controls.Input">
<HintPath>$(TELERIKWPFDIR)\Binaries\WPF40\Telerik.Windows.Controls.Input.dll</HintPath>
</Reference>
<Reference Include="Telerik.Windows.Controls.Navigation">
<HintPath>$(TELERIKWPFDIR)\Binaries\WPF40\Telerik.Windows.Controls.Navigation.dll</HintPath>
</Reference>
<Reference Include="Telerik.Windows.Data">
<HintPath>$(TELERIKWPFDIR)\Binaries\WPF40\Telerik.Windows.Data.dll</HintPath>
</Reference>
<Reference Include="WindowsBase" />
<Reference Include="PresentationCore" />
<Reference Include="PresentationFramework" />
</ItemGroup>
<ItemGroup>
<ApplicationDefinition Include="App.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</ApplicationDefinition>
<Page Include="MainWindow.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Compile Include="App.xaml.cs">
<DependentUpon>App.xaml</DependentUpon>
<SubType>Code</SubType>
</Compile>
<Compile Include="Club.cs" />
<Compile Include="MainWindow.xaml.cs">
<DependentUpon>MainWindow.xaml</DependentUpon>
<SubType>Code</SubType>
</Compile>
</ItemGroup>
<ItemGroup>
<Compile Include="MyViewModel.cs" />
<Compile Include="Properties\AssemblyInfo.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<Compile Include="Properties\Settings.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
</EmbeddedResource>
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
<AppDesigner Include="Properties\" />
</ItemGroup>
<ItemGroup />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

Просмотреть файл

@ -1,2 +1,4 @@
##Creating Linear Gauge##
One of the gauges you can create with the RadGauge control, is a linear gauge. It is represented by a rectangular container with a linear scale in it. Additionally it can display various indicators that point to a certain value off the scale. This example will guide you in creating a trivial linear gauge.
One of the gauges you can create with the RadGauge control, is a linear gauge. It is represented by a rectangular container with a linear scale in it. Additionally it can display various indicators that point to a certain value off the scale. This example will guide you in creating a trivial linear gauge.
<keywords: verticallinearscale, marker, scaleobject>

Просмотреть файл

@ -1,2 +1,4 @@
##Creating Numeric Gauge##
One of the gauges you can create with the RadGauge control, is a numeric gauge. It is represented by a container with a numerical scale in it. The numerical scale uses a numerical indicator to display the desired value. This example will guide you in creating a trivial numeric gauge.
One of the gauges you can create with the RadGauge control, is a numeric gauge. It is represented by a container with a numerical scale in it. The numerical scale uses a numerical indicator to display the desired value. This example will guide you in creating a trivial numeric gauge.
<keywords: numericscale, numericindicator, fontnumberposition>

Просмотреть файл

@ -1,2 +1,4 @@
##Creating Radial Gauge##
One of the gauges you can create with the RadGauge control, is a radial gauge. It is represented by a circle container with a scale in it. Additionally it can display various indicators that point to a certain value off the scale. This example will guide you in creating a trivial radial gauge.
One of the gauges you can create with the RadGauge control, is a radial gauge. It is represented by a circle container with a scale in it. Additionally it can display various indicators that point to a certain value off the scale. This example will guide you in creating a trivial radial gauge.
<keywords: radialscale, needle, pinpoint>

Просмотреть файл

@ -1,2 +1,4 @@
##Data Binding##
The RadGauge control allows you to bind it to a set of values, which to be displayed consecutive one after another. This feature is implemented via the indicator of the scale and its ValueSource property. It is of type IEnumerable and accepts the set of values you want to display.
The RadGauge control allows you to bind it to a set of values, which to be displayed consecutive one after another. This feature is implemented via the indicator of the scale and its ValueSource property. It is of type IEnumerable and accepts the set of values you want to display.
<keywords: radialscale, barindicator, databinding, mvvm>

Просмотреть файл

@ -1,6 +1,8 @@
##Gauge Range Appearance##
To control the appearance of a range you can use the following properties:
- Background - specifies the fill color for the range.
- Stroke - specifies the stroke color for the range.
- StrokeThickness - specifies the thickness of the range's stroke.
* Background: Specifies the fill color for the range.
* Stroke: Specifies the stroke color for the range.
* StrokeThickness: Specifies the thickness of the range's stroke.
<keywords: radverticallineargauge, gaugerange>

Просмотреть файл

@ -1,7 +1,9 @@
##Gauge Range Indicator Background##
You can specify an appearance for the scale's indicator, when it enters inside the range. This is done by using the following of the range object's properties:
- IndicatorBackground
- IndicatorColorMixSensitivity
* IndicatorBackground
* IndicatorColorMixSensitivity
To modify the appearance of the indicator via the range, the indicator should be in Use Range Color mode.
To modify the appearance of the indicator via the range, the indicator should be in Use Range Color mode.
<keywords: verticallinearscale, userangecolor, radverticallineargauge, indicatorbackground>

Просмотреть файл

@ -1,4 +1,6 @@
##Gauge Range Indicator Color Mix Sensitivity##
The IndicatorColorMixSensitivity property is used to colorize bar indicator. This feature is typical for the Bar Indicators.
This property is applicable when RangeColorMode property of the indicator is set to MixedColor (works for both radial and linear scales), HorizontalGradient or VerticalGradient (work for linear scale only). The IndicatorColorMixSensitivity property indicates how the colors of two ranges (previous and current) are mixed to create the background of the indicator. Its value can be a double between 0 and 1. For example, if the BarIndicator has its RangeColorMode set to MixedColor and range's IndicatorColorMixSensitivity property is set to 0.5 then the bar indicator will use mixed color from both current and previous ranges. The mixed color will be used when indicator takes a value from the range start and up to the half of it.
This example demonstrates how the indicator changes its background in this case.
This example demonstrates how the indicator changes its background in this case.
<keywords: radverticallineargauge, gaugerange, barindicator, rangecolormode, userangecolor>

Просмотреть файл

@ -1,6 +1,8 @@
##Gauge Range Labels Appearance##
The appearance of the labels in the range can be controlled via the following properties:
- LabelForeground - specifies the foreground color for the labels that belong to the range.
- LabelForeground: Specifies the foreground color for the labels that belong to the range.
To modify the appearance of the labels via the range, they should be in Use Range Color mode.
To modify the appearance of the labels via the range, they should be in Use Range Color mode.
<keywords: radverticallineargauge, verticallinearscale, labeluserangecolor, labelforeground, gaugerange>

Просмотреть файл

@ -1,3 +1,5 @@
##Gauge Range Max And Min Value##
Each range should have a start and and end points. They are defined via the Min and Max properties, where their values represent values from the scale.
Typically each range should be colored in a specific color. To set the desired color to the range use its Background property.
Typically each range should be colored in a specific color. To set the desired color to the range use its Background property.
<keywords: radverticallineargauge, verticallinearscale, gaugerange, background>

Просмотреть файл

@ -1,6 +1,8 @@
##Gauge Range Ticks Appearance##
The appearance of the ticks in the range can be controlled via the following properties:
- TickBackground - specifies the fill color for the ticks that belong to the range.
- TickBackground: Specifies the fill color for the ticks that belong to the range.
To modify the appearance of the ticks via the range, they should be in Use Range Color mode.
To modify the appearance of the ticks via the range, they should be in Use Range Color mode.
<keywords: radverticallineargauge, verticallinearscale, gaugerange, tickbackground>

Просмотреть файл

@ -1,2 +1,4 @@
##Gauge Range Width##
You can control the width of a range at its start and at its end point. This is done via the StartWidth and the EndWidth properties of the range.
You can control the width of a range at its start and at its end point. This is done via the StartWidth and the EndWidth properties of the range.
<keywords: radverticallineargauge, verticallinearscale, startwidth, endwidth, gaugerange, min, max>

Просмотреть файл

@ -1,2 +1,4 @@
##Groups##
The gauge control allows creation of the indicator and range groups. To create range group we should add GaugeRangeGroup element to the ranges of the scale object.
The gauge control allows creation of the indicator and range groups. To create range group we should add GaugeRangeGroup element to the ranges of the scale object.
<keywords: radverticallineargauge, verticallinearscale, gaugerange, barindicator, gaugerangegroup, indicatorgroup, stateindicator, radradialgauge, radialscale, marker>

Просмотреть файл

@ -1,2 +1,4 @@
##How To Create Compass##
This example will demonstrate how to customize a Radial Gauge to create compass.
This example will demonstrate how to customize a Radial Gauge to create compass.
<keywords: radradialgauge, radialscale, needle, pinpoint, customitems, customization>

Просмотреть файл

@ -1,2 +1,4 @@
##How To Create Thermometer##
In this tutorial we will show how the thermometer like gauge can be created using RadGauge control.
In this tutorial we will show how the thermometer like gauge can be created using RadGauge control.
<keywords: radverticallineargauge, verticallinearscale, gaugerange, customitems, barindicator, customization>

Просмотреть файл

@ -1,2 +1,4 @@
##Indicators Bar Indicator##
The Linear and the RadialBars derive from the BarIndicator class. Because of that they provide some common functionality. This example will focus on the common features between these indicators.
The Linear and the RadialBars derive from the BarIndicator class. Because of that they provide some common functionality. This example will focus on the common features between these indicators.
<keywords: radverticallineargauge, verticallinearscale, barindicator, customitems>

Просмотреть файл

@ -1,2 +1,4 @@
##Indicators Basics Animating##
When the value of the indicator gets changed, it will get positioned on the appropriate place on the scale. By default the indicator will directly go to the respective position, but you are able to make this transition smoother by animating it. To do it, just enable the indicators animation by setting the IsAnimated property to True and set the Duration property to the desired value.
When the value of the indicator gets changed, it will get positioned on the appropriate place on the scale. By default the indicator will directly go to the respective position, but you are able to make this transition smoother by animating it. To do it, just enable the indicators animation by setting the IsAnimated property to True and set the Duration property to the desired value.
<keywords: radverticallineargauge, verticallinearscale, marker, isanimated, animation>

Просмотреть файл

@ -1,7 +1,9 @@
##Indicators Basics Refreshing##
To implement this feature you have to use the RefreshRate and RefreshMode properties. The first one represents the interval of time between two updates. It is of type TimeSpan. The second one specifies the way the final value gets calculated. You can choose between the following:
- None(default) - disables refreshing.
- Average - displays the average of the values, that occurred in the interval.
- Max - displays the greatest from the values, that occured in the interval.
- Min - display the smallest of the values, that occured in the interval.
* None(default): Disables refreshing.
* Average: Displays the average of the values, that occurred in the interval.
* Max: Displays the greatest from the values, that occured in the interval.
* Min: Display the smallest of the values, that occured in the interval.
<keywords: radverticallineargauge, verticallinearscale, refreshmode, refreshrate, marker, reset>

Просмотреть файл

@ -1,2 +1,4 @@
##Indicators Basics Size##
To manipulate the indicator's size, simply use the RelativeHeight and RelativeWidth attached properties.
To manipulate the indicator's size, simply use the RelativeHeight and RelativeWidth attached properties.
<keywords: radverticallineargauge, verticallinearscale, marker, relativeheight, relativewidth>

Просмотреть файл

@ -1,2 +1,4 @@
##Indicators Basics Snapping##
The Snapping feature allows the gauge to display values only for a fixed positions or values which match a specific interval. An example for snapping is the following scenario - you are interested to point values 5 and 10 on the gauge, and want all the values between 5 and 10 to be shown as the closest from these two (i.e. 6 will be shown as 5 and 9 will be shown as 10).
The Snapping feature allows the gauge to display values only for a fixed positions or values which match a specific interval. An example for snapping is the following scenario - you are interested to point values 5 and 10 on the gauge, and want all the values between 5 and 10 to be shown as the closest from these two (i.e. 6 will be shown as 5 and 9 will be shown as 10).
<keywords: radverticallineargauge, verticallinearscale, snaptype, snapinterval, marker>

Просмотреть файл

@ -1,2 +1,4 @@
##Indicators Basics Using Range Color##
If you use ranges in your scale, you can make the indicator consitent with their color. This way, when the indicator enters into a specific range, it will take the color defined for it by the range.
If you use ranges in your scale, you can make the indicator consitent with their color. This way, when the indicator enters into a specific range, it will take the color defined for it by the range.
<keywords: radverticallineargauge, verticallinearscale, gaugerange, marker, indicatorbackground, userangecolor>

Просмотреть файл

@ -1,2 +1,4 @@
##Indicators Marker##
The Marker is one of the indicator types that the RadGauge control introduces. It directly inherits the InteractiveIndicator class and doesn't introduce any specific features.
The Marker is one of the indicator types that the RadGauge control introduces. It directly inherits the InteractiveIndicator class and doesn't introduce any specific features.
<keywords: radverticallineargauge, verticallinearscale>

Просмотреть файл

@ -1,2 +1,4 @@
##Indicators Needle##
The needle is one of the indicator types, that the RadGauge control introduces. It inherits the InteractiveIndicator class and introduces some specific features.
The needle is one of the indicator types, that the RadGauge control introduces. It inherits the InteractiveIndicator class and introduces some specific features.
<keywords: radradialgauge, radialscale, tailheight, arrow>

Просмотреть файл

@ -1,2 +1,4 @@
##Indicators State Indicator##
The State Indicator is a shape with arbitrary size located anywhere in the scale. It gets colored in the same color as the range to which the indicator's value belong.
The State Indicator is a shape with arbitrary size located anywhere in the scale. It gets colored in the same color as the range to which the indicator's value belong.
<keywords: radverticallineargauge, verticallinearscale, gaugerange, marker, stateindicator>

Просмотреть файл

@ -1,5 +1,7 @@
##Labels Appearance##
The RadialScale and LinearScale objects which inherit the GraphicScale class provide you with two ways of modifying the labels' appearance:
- Modifying Label's Foreground
- Specifying a LabelTemplate
* Modifying Label's Foreground
* Specifying a LabelTemplate
<keywords: radradialgauge, radialscale, labeltemplate, foreground>

Просмотреть файл

@ -1,2 +1,4 @@
##Labels Format##
In order to allow you to format the value, that the labels display, The GraphicScale class exposes a LabelFormat property. It allows you to specify a format string for the value displayed in the label.
In order to allow you to format the value, that the labels display, The GraphicScale class exposes a LabelFormat property. It allows you to specify a format string for the value displayed in the label.
<keywords: radradialgauge, radialscale, labeloffset, labelrotationmode, labelformat>

Просмотреть файл

@ -1,2 +1,4 @@
##Labels Location##
The GraphicScale class exposes a LabelLocation property, which allows you to specify the location of the labels towards the scale. This property is an enumeration of type ScaleObjectLocation.
The GraphicScale class exposes a LabelLocation property, which allows you to specify the location of the labels towards the scale. This property is an enumeration of type ScaleObjectLocation.
<keywords: radradiagauge, radialscale, labellocation, scaleobjectlocation>

Просмотреть файл

@ -1,2 +1,4 @@
##Labels Offset##
Besides using the LabelLocation property, you can also use the LabelOffset one, in order to apply an offset to the labels in order to fine position them.
Besides using the LabelLocation property, you can also use the LabelOffset one, in order to apply an offset to the labels in order to fine position them.
<keywords: radradialgauge, radialscale, labeloffset, labellocation>

Просмотреть файл

@ -1,2 +1,4 @@
##Labels Specifying Label Template##
One way of specifying the appearance of the label is by defining an entire LabelTemplate for it, which will get applied to each of the labels.
One way of specifying the appearance of the label is by defining an entire LabelTemplate for it, which will get applied to each of the labels.
<keywords: radradialgauge, radialscale, labeltemplate>

Просмотреть файл

@ -1,2 +1,4 @@
##Linear RadialScale radius##
You can specify the radius of the RadialScale via the Radius property.
You can specify the radius of the RadialScale via the Radius property.
<keywords: radradialgauge, radialscale>

Просмотреть файл

@ -1,2 +1,4 @@
##Linear RadialScales basics interactivity##
The Interactivity feature allows the user to interact with the scale. Enabling the feature will allow them to drag the marker along the scale.
The Interactivity feature allows the user to interact with the scale. Enabling the feature will allow them to drag the marker along the scale.
<keywords: radverticallineargauge, verticallinearscale, isinteractive, marker, drag>

Просмотреть файл

@ -1,2 +1,4 @@
##Linear Radial Scales Basics Reversed Scale##
The scales allow you to reverse the direction, in which they display their values. To do it just set the IsReversed property to False.
The scales allow you to reverse the direction, in which they display their values. To do it just set the IsReversed property to False.
<keywords: radverticallineargauge, verticallinearscale, isreversed>

Просмотреть файл

@ -1,2 +1,4 @@
##Linear Radial Scales Basics Scale Offsets##
The scales display values depending on their Min and Max properties. However there are cases, in which you might want to modify the value of the first or the last tick of the scale. For example if you have a scale with minimum value of 0.95 and maximum value of 20.8, but you want to show the ticks for integer values only (from 1 to 20 only), you can use the StartTickOffset and the EndTickOffset properties of the scale to adjust the fist and the last tick's values.
The scales display values depending on their Min and Max properties. However there are cases, in which you might want to modify the value of the first or the last tick of the scale. For example if you have a scale with minimum value of 0.95 and maximum value of 20.8, but you want to show the ticks for integer values only (from 1 to 20 only), you can use the StartTickOffset and the EndTickOffset properties of the scale to adjust the fist and the last tick's values.
<keywords: radverticallineargauge, verticallinearscale, starttickoffset, endtickoffset>

Просмотреть файл

@ -1,2 +1,4 @@
##Linear Radial Scales Basics Scale Width##
You are allowed to specify the width of the scale at its beginning and at its end. For this purpose the GraphicScale class exposes the StartWidth and EndWidth properties.
You are allowed to specify the width of the scale at its beginning and at its end. For this purpose the GraphicScale class exposes the StartWidth and EndWidth properties.
<keywords: radverticallineargauge, verticallinearscale, startwidth, endwidth, graphscale>

Просмотреть файл

@ -1,2 +1,4 @@
##Linear Radial Scales Linear Scale Orientation##
The LinearScale control can have either a horizontal or vertical orientation. The orientation could be defined using the appropriate container: the RadVerticalLinearGauge for vertical scale and the RadHorizontalLinearGauge for horizontal scale respectively.
The LinearScale control can have either a horizontal or vertical orientation. The orientation could be defined using the appropriate container: the RadVerticalLinearGauge for vertical scale and the RadHorizontalLinearGauge for horizontal scale respectively.
<keywords: radverticallineargauge, radhorizontallineargauge, horizontallinearscale, verticallinearscale>

Просмотреть файл

@ -1,2 +1,4 @@
##Linear Radial Scales Linear Scale Placement##
The LinearScale exposes the RelativeX and RelativeY properties, which allows you to position the scale towards its container. The values of these two properties are relative to the height and respectively to the width of the scale's container.
The LinearScale exposes the RelativeX and RelativeY properties, which allows you to position the scale towards its container. The values of these two properties are relative to the height and respectively to the width of the scale's container.
<keywords: horizontallineargauge, horizontallinearscale, relativex, relativey>

Просмотреть файл

@ -1,2 +1,4 @@
##Linear Radial Scales Linear Scale Relative Size##
The Relative Size feature allows you to specify the size of the scale towards its container. This can be done by using the RelativeHeight and RelativeWidth property of the LinearScale.
The Relative Size feature allows you to specify the size of the scale towards its container. This can be done by using the RelativeHeight and RelativeWidth property of the LinearScale.
<keywords: horizontallineargauge, horizontallinearscale, relativewidth, relativeheight>

Просмотреть файл

@ -1,7 +1,9 @@
##Linear Radial Scales Radial Scale Label Rotation Mode##
##Linear Radial Scales Rotation Mode##
The RadialScale control allows you to specify the way the labels get rotated around the scale. This is done by using the LabelRotationMode enumeration property. It can have one of the following values:
- Auto (default) - specifies that the labels get automatically rotated depending on their position on the scale.
- None - specifies that the labels won't get rotated.
- SurroundIn - specifies that the labels surround the radial scale with characters base line directed towards the center of the scale.
- SurroundOut - specifies that the labels surround the radial scale with characters base line directed backwards the center of the scale.
- Auto (default): Specifies that the labels get automatically rotated depending on their position on the scale.
- None: Specifies that the labels won't get rotated.
- SurroundIn: Specifies that the labels surround the radial scale with characters base line directed towards the center of the scale.
- SurroundOut: Specifies that the labels surround the radial scale with characters base line directed backwards the center of the scale.
<keywords: radradialgauge, radialscale, labelrotationmode>

Просмотреть файл

@ -1,2 +1,4 @@
##Linear Radial Scales Radial Scale Multiplier##
The Multiplier property of the Radial Scale allows applying a multiplier to the scale range and to the current value of each element which is displayed on the scale.
The Multiplier property of the Radial Scale allows applying a multiplier to the scale range and to the current value of each element which is displayed on the scale.
<keywords: radialgauge, radialscale, needle, pinpoint, multiplier>

Просмотреть файл

@ -1,2 +1,4 @@
##Linear Radial Scales Radial Scale Scale Center##
The RadialScale allows you to specify towards which point in its parent container it should get centered. This is done by using the Center property of the control. It represents a point which value is relative towards the cell size of the scale. For example, if you want to position the scale in the center of the parent container, you have to set the Center property to 0.5, 0.5 (this is the default value). This is an example where the center of the scale is 0.3, 0.3.
The RadialScale allows you to specify towards which point in its parent container it should get centered. This is done by using the Center property of the control. It represents a point which value is relative towards the cell size of the scale. For example, if you want to position the scale in the center of the parent container, you have to set the Center property to 0.5, 0.5 (this is the default value). This is an example where the center of the scale is 0.3, 0.3.
<keywords: radradialgauge, radialscale>

Просмотреть файл

@ -1,2 +1,4 @@
##Linear Radial Scales Radial Scale Start Angle##
The StartAngle property of the Graphic Scale allows you to specify the angle from which the drawing of the scale should start. The default value is at 7 o'clock and a start angle of 0 will make the scale start at 3 o'clock. The value of the angle grows clockwise.
The StartAngle property of the Graphic Scale allows you to specify the angle from which the drawing of the scale should start. The default value is at 7 o'clock and a start angle of 0 will make the scale start at 3 o'clock. The value of the angle grows clockwise.
<keywords: radradialgauge, radialscale, startangle, clockwise>

Просмотреть файл

@ -1,3 +1,5 @@
##Linear Radial Scales Sweep Angle##
The sweep angle represents the amount of the scale that is used to display ticks. By default there is space between the first and the last value of the scale.
If you want to specify the sweep angle use the SweepAngle property. For example a value of 360 will make the scale to form a complete circle and the first and the last value will overlap each other. A value of 180 will uake the scale use only half of the circle to display the values.
If you want to specify the sweep angle use the SweepAngle property. For example a value of 360 will make the scale to form a complete circle and the first and the last value will overlap each other. A value of 180 will uake the scale use only half of the circle to display the values.
<keywords: radradialgauge, radialscale, sweepangle>

Просмотреть файл

@ -1,2 +1,4 @@
##Linear Scale Bar Indicator##
The Bar indicator is a colored bar that is drawn around scale bar. One of ends of this bar points to the scale value. To add bar indicator to the scale you have to include LinearBar element to the list of the scale indicators.
The Bar indicator is a colored bar that is drawn around scale bar. One of ends of this bar points to the scale value. To add bar indicator to the scale you have to include LinearBar element to the list of the scale indicators.
<keywords: radverticallineargauge, verticallinearscale, barindicator, gaugerange, rangecolorsmoothing, rangecolormode, indicatorbackground, userangecolor>

Просмотреть файл

@ -1,2 +1,4 @@
##Linear Scale Interactivity##
Scale interactivity refers to the ability for the end-user to interact with the scale object. This ability is governed by the Boolean IsInteractive property. When this Boolean value is set to True, the end-user can click on the scale or drag the indicator along the values of its scale.
Scale interactivity refers to the ability for the end-user to interact with the scale object. This ability is governed by the Boolean IsInteractive property. When this Boolean value is set to True, the end-user can click on the scale or drag the indicator along the values of its scale.
<keywords: radverticallineargauge, verticallinearScale, isinteractive, scaleobject, drag>

Просмотреть файл

@ -1,2 +1,4 @@
##Linear Scale Labels##
Tick labels are shown for the major tick marks. You can set the label location around the scale bar, the font properties (like family, size and foreground), the format of the label, or even change the whole control template for a label. To change the location of the tick mark label you should use the LabelLocation property of the scale element in XAML.
Tick labels are shown for the major tick marks. You can set the label location around the scale bar, the font properties (like family, size and foreground), the format of the label, or even change the whole control template for a label. To change the location of the tick mark label you should use the LabelLocation property of the scale element in XAML.
<keywords: radhorizontallineargauge, horizontallinearscale, labellocation, rangelocation, labeluserangecolor>

Просмотреть файл

@ -1,2 +1,4 @@
##Linear Scale Marker##
The Marker is a scale indicator that points to a value along a scale. It is a small shape that can be located around the scale bar. To add marker to the scale you have to include Marker element to the list of the scale indicators.
The Marker is a scale indicator that points to a value along a scale. It is a small shape that can be located around the scale bar. To add marker to the scale you have to include Marker element to the list of the scale indicators.
<keywords: radhorizontallineargauge, horizontallinearscale, marker, scaleobject, location, relativeheight>

Просмотреть файл

@ -1,2 +1,4 @@
##Linear Scale Numeric Indicator##
This topic is intended to show you how to use Numeric Indicator with Linear Scale. To add numeric indicator to the scale you have to include NumericIndicator element to the list of the scale indicators.
This topic is intended to show you how to use Numeric Indicator with Linear Scale. To add numeric indicator to the scale you have to include NumericIndicator element to the list of the scale indicators.
<keywords: radverticallineargauge, verticallinearscale, barindicator, numericindicator, sevensegsnumberposition, customitems, numericindicator>

Просмотреть файл

@ -1,2 +1,4 @@
##Linear Scale Overview##
LinearScale is used to control the overall layout of tick marks, tick labels, indicators, and ranges, as well render an optional scale bar.
LinearScale is used to control the overall layout of tick marks, tick labels, indicators, and ranges, as well render an optional scale bar.
<keywords: radhorizontallineargauge, horizontallinearscale, majorticktooltipformat>

Просмотреть файл

@ -1,2 +1,4 @@
##Linear Scale State Indicator##
The State Indicator is a shape with arbitrary size located anywhere in the scale. If state indicator's value put into one of the scale ranges then shape is filled with brush of this range. To add state indicator to the scale you have to include StateIndicator element to the list of scale indicators.
The State Indicator is a shape with arbitrary size located anywhere in the scale. If state indicator's value put into one of the scale ranges then shape is filled with brush of this range. To add state indicator to the scale you have to include StateIndicator element to the list of scale indicators.
<keywords: radverticallineargauge, verticallinearscale, gaugerange, stateindicator, barindicator>

Просмотреть файл

@ -1,6 +1,8 @@
##Linear Scale Tick Marks##
Tick marks allow displaying of the value intervals along the gauge scale. There are 3 types of the tick marks:
- Major - specify the primary value intervals. MajorTicks scale's property specifies the number of the value intervals along the whole length of the scale bar. Major tick marks can have labels. You can specify the common properties and the appearance of the major tick mark using MajorTick property of the scale.
- Middle - specify the secondary value intervals. MiddleTicks scale's property specifies the number of the secondary value intervals inside the primary value interval. Middle tick marks can't have labels. You can specify the common properties and the appearance of the middle tick mark using MiddleTick property of the scale.
- Minor - specify the third level of the value intervals. MinorTicks scale's property specifies the number of the third level value intervals inside the secondary value interval. Minor tick marks can't have labels. You can specify the common properties and the appearance of the minor tick mark using MinorTick property of the scale.
* Major: Specify the primary value intervals. MajorTicks scale's property specifies the number of the value intervals along the whole length of the scale bar. Major tick marks can have labels. You can specify the common properties and the appearance of the major tick mark using MajorTick property of the scale.
* Middle: Specify the secondary value intervals. MiddleTicks scale's property specifies the number of the secondary value intervals inside the primary value interval. Middle tick marks can't have labels. You can specify the common properties and the appearance of the middle tick mark using MiddleTick property of the scale.
* Minor: Specify the third level of the value intervals. MinorTicks scale's property specifies the number of the third level value intervals inside the secondary value interval. Minor tick marks can't have labels. You can specify the common properties and the appearance of the minor tick mark using MinorTick property of the scale.
<keywords: radhorizontallineargauge, horizontallinearscale, majortickstep, gaugerange, majortickuserangecolor, middletickuserangecolor, minortickuserangecolor>

Просмотреть файл

@ -1,2 +1,4 @@
##Linear Scale Tick Marks Custom Tick Marks##
The RadGauge control provides very flexible standard tick marks and labels, but sometimes it is necessary to show additional elements in particular scale position. This can be achievied by using custom elements which can be placed at a specific value (shown at value 0,75 and 100 in the image below) by setting the Value property. Just like the major and minor tick marks, the look of the custom tick marks can be fully customized.
The RadGauge control provides very flexible standard tick marks and labels, but sometimes it is necessary to show additional elements in particular scale position. This can be achievied by using custom elements which can be placed at a specific value (shown at value 0,75 and 100 in the image below) by setting the Value property. Just like the major and minor tick marks, the look of the custom tick marks can be fully customized.
<keywords: radhorizontallineargauge, horizontallinearscale, majortickstep, gaugerange, majortickuserangecolor, middletickuserangecolor, minortickuserangecolor, customitems>

Просмотреть файл

@ -1,2 +1,4 @@
##Numeric Indicator Corner Radius##
The CornerRadius property allows you to specify the radius of the indicator's corners.
The CornerRadius property allows you to specify the radius of the indicator's corners.
<keywords: numericscale, numericindicator, fontnumberposition, cornerradius>

Просмотреть файл

@ -1,2 +1,4 @@
##Numeric Indicator Display Value Format##
The Format property allows you to specify a format string for the indicator's value. When formatting you might have to add or remove some number positions.
The Format property allows you to specify a format string for the indicator's value. When formatting you might have to add or remove some number positions.
<keywords: numericscale, numericindicator, fontnumberposition, cornerradius, format>

Просмотреть файл

@ -1,6 +1,8 @@
##Numeric Indicator Number Positions##
By default the Numeric Indicator won't display its values. You have to define the number positions to display the value's digits. This can be done by adding a number position objects to the Positions collection of the NumericIndicator. You can use the following types of number position:
- SevenSegsNumberPosition - the digit get displayed via 7 rectangular segments.
- HexagonalNumberPosition - the digit get displayed via 7 hexagonal segments.
- FontNumberPosition - the digit is displayed as characters. In this case the values of the various font properties, like FontFamily, FontSize, FontWeight etc., get applied. The font properties can be set to the indicator itself. In this case they will get applied to all of the FontNumberPosition controls in it. You can apply it directly to the FontNumberPosition control as well, in order to have different appearance for each position.
* SevenSegsNumberPosition: The digit get displayed via 7 rectangular segments.
* HexagonalNumberPosition: The digit get displayed via 7 hexagonal segments.
* FontNumberPosition: The digit is displayed as characters. In this case the values of the various font properties, like FontFamily, FontSize, FontWeight etc., get applied. The font properties can be set to the indicator itself. In this case they will get applied to all of the FontNumberPosition controls in it. You can apply it directly to the FontNumberPosition control as well, in order to have different appearance for each position.
<keywords: numericscale, numericindicator, fontnumberposition, cornerradius>

Просмотреть файл

@ -1,2 +1,4 @@
##Numeric Indicator Placement##
The ScaleObject.RelativeX and ScaleObject.RelativeY attachable properties allow you to position the NumericIndicator towards the scale's container. The values of these two properties are relative to the respective height and width of the scale's container.
The ScaleObject.RelativeX and ScaleObject.RelativeY attachable properties allow you to position the NumericIndicator towards the scale's container. The values of these two properties are relative to the respective height and width of the scale's container.
<keywords: numericscale, numericindicator, fontnumberposition, cornerradius, scaleobject, relativey, relativex>

Просмотреть файл

@ -1,2 +1,4 @@
##Numeric Indicator Size##
To manipulate the indicator's size, simply use the ScaleObject.RelativeHeight and ScaleObject.RelativeWidth attachable properties. As the names suggest, their value are relative to the cell size of the scale. The cell size of the scale is determined by the size of the container it is placed in. For the radial scales it is equal to the radius of the container. However, when placed inside a LinearScale or inside a NumericScale, then the ScaleObject.RelativeHeight value is relative to the height and the ScaleObject.RelativeWidth to the width of the scale's container.
To manipulate the indicator's size, simply use the ScaleObject.RelativeHeight and ScaleObject.RelativeWidth attachable properties. As the names suggest, their value are relative to the cell size of the scale. The cell size of the scale is determined by the size of the container it is placed in. For the radial scales it is equal to the radius of the container. However, when placed inside a LinearScale or inside a NumericScale, then the ScaleObject.RelativeHeight value is relative to the height and the ScaleObject.RelativeWidth to the width of the scale's container.
<keywords: numericscale, numericindicator, fontnumberposition, cornerradius, scaleobject, relativewidth, relativeheight>

Просмотреть файл

@ -1,2 +1,4 @@
##Numeric Scale##
The NumericScale control allows you to display a scale of numeric form. The numeric scales are used for displaying digits. An example for a numerical scale is the digital clock's display.
The NumericScale control allows you to display a scale of numeric form. The numeric scales are used for displaying digits. An example for a numerical scale is the digital clock's display.
<keywords: radradialgauge, radialscale, numericscale, numericindicator, fontnumberposition, relativex, relativey, scaleobject, digit>

Просмотреть файл

@ -1,3 +1,5 @@
##Numeric Scale Numeric Indicator##
The Numeric Indicator is an indicator that displays its Value property as a digital indicator device.
The appearance of characters in the numeric indicator could be specified with a set of different NumericIndicator.Positions like "HexagonalNumberPosition", "SevenSegsNumberPosition", "GraphicNumberPosition" and etc.
The appearance of characters in the numeric indicator could be specified with a set of different NumericIndicator.Positions like "HexagonalNumberPosition", "SevenSegsNumberPosition", "GraphicNumberPosition" and etc.
<keywords: radverticallineargauge, numericScale, numericindicator,scaleobject, relativex, relativey, hexagonalnumberposition>

Просмотреть файл

@ -1,2 +1,4 @@
##Numeric Scale Overview##
The NumericScale is a container to display numeric and/or state indicator when no other scales (radial or linear) are necessary.
The NumericScale is a container to display numeric and/or state indicator when no other scales (radial or linear) are necessary.
<keywords: radverticallineargauge, numericScale, numericindicator,scaleobject, relativex, relativey, hexagonalnumberposition, digit>

Просмотреть файл

@ -1,2 +1,4 @@
##Numeric Scale State Indicator##
The State Indicator is a shape with arbitrary size located anywhere in the scale. If the state indicator's value puts into one of the scale ranges then shape is filled with brush of this range. To add a state indicator to the scale you have to include the StateIndicator element to the NumericScale.Indicators.
The State Indicator is a shape with arbitrary size located anywhere in the scale. If the state indicator's value puts into one of the scale ranges then shape is filled with brush of this range. To add a state indicator to the scale you have to include the StateIndicator element to the NumericScale.Indicators.
<keywords: radverticallineargauge, numericscale, numericindicator, numericindicator, hexagonalnumberposition, stateindicator>

Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше