зеркало из https://github.com/telerik/xaml-sdk.git
Updated the SDK
This commit is contained in:
Родитель
e1fe1cff6b
Коммит
43f999c41b
|
@ -1,67 +0,0 @@
|
|||
using System.Linq;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Media.Imaging;
|
||||
using Telerik.Windows.Controls;
|
||||
using Telerik.Windows.Controls.GanttView;
|
||||
|
||||
namespace PrintingAndExporting
|
||||
{
|
||||
public static class PrintingService
|
||||
{
|
||||
#if !SILVERLIGHT
|
||||
public static void Print(RadGanttView ganttView)
|
||||
{
|
||||
var printDialog = new PrintDialog();
|
||||
if (printDialog.ShowDialog() == true)
|
||||
{
|
||||
var exportImages = Enumerable.Empty<BitmapSource>();
|
||||
var printingSettings = new ImageExportSettings(new Size(printDialog.PrintableAreaWidth, printDialog.PrintableAreaHeight), true, GanttArea.AllAreas);
|
||||
using (var export = ganttView.ExportingService.BeginExporting(printingSettings))
|
||||
{
|
||||
exportImages = export.ImageInfos.ToList().Select(info => info.Export());
|
||||
}
|
||||
|
||||
var paginator = new GanttPaginator(exportImages);
|
||||
printDialog.PrintDocument(paginator, "Print demo");
|
||||
}
|
||||
}
|
||||
#else
|
||||
public static void Print(RadGanttView ganttView)
|
||||
{
|
||||
var isFirstPass = true;
|
||||
var exportImages = Enumerable.Empty<BitmapSource>();
|
||||
var enumerator = exportImages.GetEnumerator();
|
||||
var pd = new System.Windows.Printing.PrintDocument();
|
||||
pd.PrintPage += (s, e) =>
|
||||
{
|
||||
if (isFirstPass)
|
||||
{
|
||||
var printingSettings = new ImageExportSettings(e.PrintableArea, true, GanttArea.AllAreas);
|
||||
using (var export = ganttView.ExportingService.BeginExporting(printingSettings))
|
||||
{
|
||||
exportImages = export.ImageInfos.ToList().Select(info => info.Export());
|
||||
enumerator = exportImages.GetEnumerator();
|
||||
enumerator.MoveNext();
|
||||
}
|
||||
isFirstPass = false;
|
||||
}
|
||||
|
||||
e.PageVisual = PrintPage(enumerator.Current);
|
||||
enumerator.MoveNext();
|
||||
e.HasMorePages = enumerator.Current != null;
|
||||
};
|
||||
pd.Print("Gantt");
|
||||
}
|
||||
|
||||
private static UIElement PrintPage(BitmapSource bitmap)
|
||||
{
|
||||
var bitmapSize = new System.Windows.Size(bitmap.PixelWidth, bitmap.PixelHeight);
|
||||
var image = new System.Windows.Controls.Image { Source = bitmap };
|
||||
image.Measure(bitmapSize);
|
||||
image.Arrange(new System.Windows.Rect(new System.Windows.Point(0, 0), bitmapSize));
|
||||
return image;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
|
@ -1 +0,0 @@
|
|||
powershell "Get-ChildItem .\ -include bin,obj,ClientBin -Recurse | foreach ($_) { remove-item $_.fullname -Force -Recurse }"
|
|
@ -1 +0,0 @@
|
|||
powershell "Get-ChildItem .\ -include bin,obj,ClientBin -Recurse | foreach ($_) { remove-item $_.fullname -Force -Recurse }"
|
|
@ -1 +0,0 @@
|
|||
powershell "Get-ChildItem .\ -include bin,obj,ClientBin -Recurse | foreach ($_) { remove-item $_.fullname -Force -Recurse }"
|
|
@ -1,15 +0,0 @@
|
|||
<Reference Include="Telerik.Windows.Controls" />
|
||||
<Reference Include="Telerik.Windows.Controls.ImageEditor" />
|
||||
<Reference Include="Telerik.Windows.Controls.Input" />
|
||||
<Reference Include="Telerik.Windows.Controls.Navigation" />
|
||||
<Reference Include="Telerik.Windows.Controls.RibbonView" />
|
||||
<Reference Include="Telerik.Windows.Controls.RichTextBoxUI" />
|
||||
<Reference Include="Telerik.Windows.Data" />
|
||||
<Reference Include="Telerik.Windows.Documents" />
|
||||
<Reference Include="Telerik.Windows.Documents.FormatProviders.Html" />
|
||||
<Reference Include="Telerik.Windows.Documents.FormatProviders.OpenXml" />
|
||||
<Reference Include="Telerik.Windows.Documents.FormatProviders.Pdf" />
|
||||
<Reference Include="Telerik.Windows.Documents.FormatProviders.Rtf" />
|
||||
<Reference Include="Telerik.Windows.Documents.FormatProviders.Xaml" />
|
||||
<Reference Include="Telerik.Windows.Zip" />
|
||||
<Reference Include="Telerik.Windows.Documents.Proofing.Dictionaries.En-US" />
|
|
@ -1,53 +0,0 @@
|
|||
<Reference Include="Telerik.Windows.Controls">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>C:\Work\WPF_Scrum\Development\Binaries\WPF\Telerik.Windows.Controls.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Telerik.Windows.Controls.ImageEditor">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>C:\Work\WPF_Scrum\Development\Binaries\WPF\Telerik.Windows.Controls.ImageEditor.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Telerik.Windows.Controls.Input">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>C:\Work\WPF_Scrum\Development\Binaries\WPF\Telerik.Windows.Controls.Input.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Telerik.Windows.Controls.Navigation">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>C:\Work\WPF_Scrum\Development\Binaries\WPF\Telerik.Windows.Controls.Navigation.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Telerik.Windows.Controls.RibbonView">
|
||||
<HintPath>C:\Work\WPF_Scrum\Development\Binaries\WPF\Telerik.Windows.Controls.RibbonView.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Telerik.Windows.Controls.RichTextBoxUI">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>C:\Work\WPF_Scrum\Development\Binaries\WPF\Telerik.Windows.Controls.RichTextBoxUI.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Telerik.Windows.Documents">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>C:\Work\WPF_Scrum\Development\Binaries\WPF\Telerik.Windows.Documents.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Telerik.Windows.Documents.FormatProviders.Html">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>C:\Work\WPF_Scrum\Development\Binaries\WPF\Telerik.Windows.Documents.FormatProviders.Html.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Telerik.Windows.Documents.FormatProviders.OpenXml">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>C:\Work\WPF_Scrum\Development\Binaries\WPF\Telerik.Windows.Documents.FormatProviders.OpenXml.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Telerik.Windows.Documents.FormatProviders.Pdf">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>C:\Work\WPF_Scrum\Development\Binaries\WPF\Telerik.Windows.Documents.FormatProviders.Pdf.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Telerik.Windows.Documents.FormatProviders.Rtf">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>C:\Work\WPF_Scrum\Development\Binaries\WPF\Telerik.Windows.Documents.FormatProviders.Rtf.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Telerik.Windows.Documents.FormatProviders.Xaml">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>C:\Work\WPF_Scrum\Development\Binaries\WPF\Telerik.Windows.Documents.FormatProviders.Xaml.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Telerik.Windows.Zip">
|
||||
<HintPath>C:\Work\WPF_Scrum\Development\Binaries\WPF\Telerik.Windows.Zip.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Telerik.Windows.Documents.Proofing.Dictionaries.En-US">
|
||||
<HintPath>C:\Work\WPF_Scrum\Development\Binaries\WPF\Telerik.Windows.Documents.Proofing.Dictionaries.En-US.dll</HintPath>
|
||||
</Reference>
|
|
@ -1 +0,0 @@
|
|||
powershell "Get-ChildItem .\ -include bin,obj,ClientBin -Recurse | foreach ($_) { remove-item $_.fullname -Force -Recurse }"
|
|
@ -1,6 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<configuration>
|
||||
<startup>
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
|
||||
</startup>
|
||||
</configuration>
|
|
@ -1,17 +0,0 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Configuration;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows;
|
||||
|
||||
namespace ContextMenu
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaction logic for App.xaml
|
||||
/// </summary>
|
||||
public partial class App : Application
|
||||
{
|
||||
}
|
||||
}
|
|
@ -1,61 +0,0 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Windows;
|
||||
|
||||
namespace ContextMenu
|
||||
{
|
||||
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)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,123 +0,0 @@
|
|||
<?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>{63C4139D-FA8D-43BB-A4F3-EF5FA2B23BE1}</ProjectGuid>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>ContextMenu</RootNamespace>
|
||||
<AssemblyName>ContextMenu_WPF</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>
|
||||
<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, Version=2013.1.403.40, Culture=neutral, PublicKeyToken=5803cfa389c90ce7, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>Telerik.Windows.Controls.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Telerik.Windows.Controls.Navigation, Version=2013.1.403.40, Culture=neutral, PublicKeyToken=5803cfa389c90ce7, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>Telerik.Windows.Controls.Navigation.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Telerik.Windows.Data, Version=2013.1.403.40, Culture=neutral, PublicKeyToken=5803cfa389c90ce7, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>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>
|
||||
</ApplicationDefinition>
|
||||
<Compile Include="RadTreeViewSampleData.cs" />
|
||||
<Compile Include="Team.cs" />
|
||||
<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="Division.cs" />
|
||||
<Compile Include="League.cs" />
|
||||
<Compile Include="MainWindow.xaml.cs">
|
||||
<DependentUpon>MainWindow.xaml</DependentUpon>
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<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>
|
||||
<None Include="App.config" />
|
||||
</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,25 +0,0 @@
|
|||
using System;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.Linq;
|
||||
|
||||
namespace ContextMenu
|
||||
{
|
||||
public class Division
|
||||
{
|
||||
public Division(string name)
|
||||
{
|
||||
this.Name = name;
|
||||
this.Teams = new ObservableCollection<Team>();
|
||||
}
|
||||
public string Name
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
public ObservableCollection<Team> Teams
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,25 +0,0 @@
|
|||
using System;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.Linq;
|
||||
|
||||
namespace ContextMenu
|
||||
{
|
||||
public class League
|
||||
{
|
||||
public League(string name)
|
||||
{
|
||||
this.Name = name;
|
||||
this.Divisions = new ObservableCollection<Division>();
|
||||
}
|
||||
public string Name
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
public ObservableCollection<Division> Divisions
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,43 +0,0 @@
|
|||
<UserControl x:Class="ContextMenu.MainPage"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:local="clr-namespace:ContextMenu"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation">
|
||||
<UserControl.Resources>
|
||||
|
||||
<Style TargetType="telerik:RadTreeViewItem">
|
||||
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
|
||||
</Style>
|
||||
|
||||
<local:RadTreeViewSampleData x:Key="DataSource" />
|
||||
|
||||
<DataTemplate x:Key="Division">
|
||||
<TextBlock Text="{Binding Name}" />
|
||||
</DataTemplate>
|
||||
|
||||
<telerik:HierarchicalDataTemplate x:Key="League"
|
||||
ItemTemplate="{StaticResource Division}"
|
||||
ItemsSource="{Binding Divisions}">
|
||||
<TextBlock Text="{Binding Name}">
|
||||
<telerik:RadContextMenu.ContextMenu>
|
||||
<telerik:RadContextMenu Opened="RadContextMenu_Opened">
|
||||
<telerik:RadMenuItem Header="New Child" />
|
||||
<telerik:RadMenuItem Header="New Sibling" />
|
||||
<telerik:RadMenuItem Header="Delete" />
|
||||
</telerik:RadContextMenu>
|
||||
</telerik:RadContextMenu.ContextMenu>
|
||||
</TextBlock>
|
||||
</telerik:HierarchicalDataTemplate>
|
||||
|
||||
</UserControl.Resources>
|
||||
|
||||
<Grid x:Name="LayoutRoot" Background="White">
|
||||
|
||||
<telerik:RadTreeView x:Name="radTreeView"
|
||||
ItemTemplate="{StaticResource League}"
|
||||
ItemsSource="{Binding Source={StaticResource DataSource},
|
||||
Path=LeaguesDataSource}" />
|
||||
|
||||
</Grid>
|
||||
</UserControl>
|
|
@ -1,48 +0,0 @@
|
|||
using System;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.Linq;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using Telerik.Windows;
|
||||
using Telerik.Windows.Controls;
|
||||
|
||||
namespace ContextMenu
|
||||
{
|
||||
public partial class MainPage : UserControl
|
||||
{
|
||||
public MainPage()
|
||||
{
|
||||
InitializeComponent();
|
||||
this.radTreeView.AddHandler(RadMenuItem.ClickEvent, new RoutedEventHandler(OnContextMenuClick));
|
||||
}
|
||||
|
||||
RadTreeViewItem clickedElement;
|
||||
private void RadContextMenu_Opened(object sender, RoutedEventArgs e)
|
||||
{
|
||||
// Find the tree item that is associated with the clicked context menu item
|
||||
clickedElement = (sender as RadContextMenu).GetClickedElement<RadTreeViewItem>();
|
||||
}
|
||||
|
||||
private void OnContextMenuClick(object sender, RoutedEventArgs args)
|
||||
{
|
||||
// Get the clicked context menu item
|
||||
RadMenuItem menuItem = ((RadRoutedEventArgs)args).OriginalSource as RadMenuItem;
|
||||
|
||||
League league = clickedElement.Item as League;
|
||||
Telerik.Windows.Controls.ItemsControl parentItemsControl = (Telerik.Windows.Controls.ItemsControl)clickedElement.ParentItem ?? clickedElement.ParentTreeView;
|
||||
string header = menuItem.Header as string;
|
||||
switch (header)
|
||||
{
|
||||
case "New Child":
|
||||
league.Divisions.Add(new Division("New Division"));
|
||||
break;
|
||||
case "New Sibling":
|
||||
(parentItemsControl.ItemsSource as ObservableCollection<League>).Add(new League("New League"));
|
||||
break;
|
||||
case "Delete":
|
||||
(parentItemsControl.ItemsSource as ObservableCollection<League>).Remove(league);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,43 +0,0 @@
|
|||
<Window x:Class="ContextMenu.MainWindow"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:local="clr-namespace:ContextMenu"
|
||||
xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"
|
||||
Title="MainWindow" Height="350" Width="525">
|
||||
<Window.Resources>
|
||||
|
||||
<Style TargetType="telerik:RadTreeViewItem">
|
||||
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
|
||||
</Style>
|
||||
|
||||
<local:RadTreeViewSampleData x:Key="DataSource" />
|
||||
|
||||
<DataTemplate x:Key="Division">
|
||||
<TextBlock Text="{Binding Name}" />
|
||||
</DataTemplate>
|
||||
|
||||
<HierarchicalDataTemplate x:Key="League"
|
||||
ItemTemplate="{StaticResource Division}"
|
||||
ItemsSource="{Binding Divisions}">
|
||||
<TextBlock Text="{Binding Name}">
|
||||
<telerik:RadContextMenu.ContextMenu>
|
||||
<telerik:RadContextMenu Opened="RadContextMenu_Opened">
|
||||
<telerik:RadMenuItem Header="New Child" />
|
||||
<telerik:RadMenuItem Header="New Sibling" />
|
||||
<telerik:RadMenuItem Header="Delete" />
|
||||
</telerik:RadContextMenu>
|
||||
</telerik:RadContextMenu.ContextMenu>
|
||||
</TextBlock>
|
||||
</HierarchicalDataTemplate>
|
||||
|
||||
</Window.Resources>
|
||||
|
||||
<Grid x:Name="LayoutRoot" Background="White">
|
||||
|
||||
<telerik:RadTreeView x:Name="radTreeView"
|
||||
ItemTemplate="{StaticResource League}"
|
||||
ItemsSource="{Binding Source={StaticResource DataSource},
|
||||
Path=LeaguesDataSource}" />
|
||||
|
||||
</Grid>
|
||||
</Window>
|
|
@ -1,49 +0,0 @@
|
|||
using System;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.Linq;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using Telerik.Windows;
|
||||
using Telerik.Windows.Controls;
|
||||
|
||||
namespace ContextMenu
|
||||
{
|
||||
public partial class MainWindow : Window
|
||||
{
|
||||
RadTreeViewItem clickedElement;
|
||||
|
||||
public MainWindow()
|
||||
{
|
||||
this.InitializeComponent();
|
||||
this.radTreeView.AddHandler(RadMenuItem.ClickEvent, new RoutedEventHandler(OnContextMenuClick));
|
||||
}
|
||||
|
||||
private void RadContextMenu_Opened(object sender, RoutedEventArgs e)
|
||||
{
|
||||
// Find the tree item that is associated with the clicked context menu item
|
||||
this.clickedElement = (sender as RadContextMenu).GetClickedElement<RadTreeViewItem>();
|
||||
}
|
||||
|
||||
private void OnContextMenuClick(object sender, RoutedEventArgs args)
|
||||
{
|
||||
// Get the clicked context menu item
|
||||
RadMenuItem menuItem = ((RadRoutedEventArgs)args).OriginalSource as RadMenuItem;
|
||||
|
||||
League league = this.clickedElement.Item as League;
|
||||
ItemsControl parentItemsControl = (ItemsControl)this.clickedElement.ParentItem ?? this.clickedElement.ParentTreeView;
|
||||
string header = menuItem.Header as string;
|
||||
switch (header)
|
||||
{
|
||||
case "New Child":
|
||||
league.Divisions.Add(new Division("New Division"));
|
||||
break;
|
||||
case "New Sibling":
|
||||
(parentItemsControl.ItemsSource as ObservableCollection<League>).Add(new League("New League"));
|
||||
break;
|
||||
case "Delete":
|
||||
(parentItemsControl.ItemsSource as ObservableCollection<League>).Remove(league);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,71 +0,0 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.17929
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace ContextMenu_WPF.Properties
|
||||
{
|
||||
|
||||
|
||||
/// <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 ((resourceMan == null))
|
||||
{
|
||||
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("ContextMenu_WPF.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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,117 +0,0 @@
|
|||
<?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>
|
|
@ -1,30 +0,0 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.17929
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace ContextMenu_WPF.Properties
|
||||
{
|
||||
|
||||
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,63 +0,0 @@
|
|||
using System;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.Linq;
|
||||
|
||||
namespace ContextMenu
|
||||
{
|
||||
public class RadTreeViewSampleData
|
||||
{
|
||||
public RadTreeViewSampleData()
|
||||
{
|
||||
this.InitializeLeaguesDataSource();
|
||||
}
|
||||
|
||||
public ObservableCollection<League> LeaguesDataSource
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
private void InitializeLeaguesDataSource()
|
||||
{
|
||||
this.LeaguesDataSource = new ObservableCollection<League>();
|
||||
League l;
|
||||
Division d;
|
||||
this.LeaguesDataSource.Add(l = new League("League A"));
|
||||
l.Divisions.Add((d = new Division("Division A")));
|
||||
d.Teams.Add(new Team("Team I"));
|
||||
d.Teams.Add(new Team("Team II"));
|
||||
d.Teams.Add(new Team("Team III"));
|
||||
d.Teams.Add(new Team("Team IV"));
|
||||
d.Teams.Add(new Team("Team V"));
|
||||
l.Divisions.Add((d = new Division("Division B")));
|
||||
d.Teams.Add(new Team("Team Blue"));
|
||||
d.Teams.Add(new Team("Team Red"));
|
||||
d.Teams.Add(new Team("Team Yellow"));
|
||||
d.Teams.Add(new Team("Team Green"));
|
||||
d.Teams.Add(new Team("Team Orange"));
|
||||
l.Divisions.Add((d = new Division("Division C")));
|
||||
d.Teams.Add(new Team("Team East"));
|
||||
d.Teams.Add(new Team("Team West"));
|
||||
d.Teams.Add(new Team("Team North"));
|
||||
d.Teams.Add(new Team("Team South"));
|
||||
this.LeaguesDataSource.Add(l = new League("League B"));
|
||||
l.Divisions.Add((d = new Division("Division A")));
|
||||
d.Teams.Add(new Team("Team 1"));
|
||||
d.Teams.Add(new Team("Team 2"));
|
||||
d.Teams.Add(new Team("Team 3"));
|
||||
d.Teams.Add(new Team("Team 4"));
|
||||
d.Teams.Add(new Team("Team 5"));
|
||||
l.Divisions.Add((d = new Division("Division B")));
|
||||
d.Teams.Add(new Team("Team Diamond"));
|
||||
d.Teams.Add(new Team("Team Heart"));
|
||||
d.Teams.Add(new Team("Team Club"));
|
||||
d.Teams.Add(new Team("Team Spade"));
|
||||
l.Divisions.Add((d = new Division("Division C")));
|
||||
d.Teams.Add(new Team("Team Alpha"));
|
||||
d.Teams.Add(new Team("Team Beta"));
|
||||
d.Teams.Add(new Team("Team Gamma"));
|
||||
d.Teams.Add(new Team("Team Delta"));
|
||||
d.Teams.Add(new Team("Team Epsilon"));
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,16 +0,0 @@
|
|||
using System;
|
||||
namespace ContextMenu
|
||||
{
|
||||
public class Team
|
||||
{
|
||||
public Team(string name)
|
||||
{
|
||||
this.Name = name;
|
||||
}
|
||||
public string Name
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1 +0,0 @@
|
|||
This project demonstrates how you can add a ContextMenu to root level items and implement add sibling, add child and delete functionality.
|
|
@ -1,6 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<configuration>
|
||||
<startup>
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
|
||||
</startup>
|
||||
</configuration>
|
|
@ -1,8 +0,0 @@
|
|||
<Application x:Class="DenyDropVisualFeedback_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>
|
|
@ -1,17 +0,0 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Configuration;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows;
|
||||
|
||||
namespace DenyDropVisualFeedback_WPF
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaction logic for App.xaml
|
||||
/// </summary>
|
||||
public partial class App : Application
|
||||
{
|
||||
}
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
<Application x:Class="DenyDropVisualFeedback_SL.AppSL"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<Application.Resources >
|
||||
|
||||
</Application.Resources>
|
||||
</Application>
|
|
@ -1,68 +0,0 @@
|
|||
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 DenyDropVisualFeedback_SL
|
||||
{
|
||||
public partial class AppSL : Application
|
||||
{
|
||||
|
||||
public AppSL()
|
||||
{
|
||||
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)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,120 +0,0 @@
|
|||
<?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>{95EA4171-D973-4D79-A278-19B31BD26751}</ProjectGuid>
|
||||
<ProjectTypeGuids>{A1591282-1198-4647-A2B1-27E5FF5F6F3B};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>DenyDropVisualFeedback_SL</RootNamespace>
|
||||
<AssemblyName>DenyDropVisualFeedback_SL</AssemblyName>
|
||||
<TargetFrameworkIdentifier>Silverlight</TargetFrameworkIdentifier>
|
||||
<TargetFrameworkVersion>v5.0</TargetFrameworkVersion>
|
||||
<SilverlightVersion>$(TargetFrameworkVersion)</SilverlightVersion>
|
||||
<SilverlightApplication>true</SilverlightApplication>
|
||||
<SupportedCultures>
|
||||
</SupportedCultures>
|
||||
<XapOutputs>true</XapOutputs>
|
||||
<GenerateSilverlightManifest>true</GenerateSilverlightManifest>
|
||||
<XapFilename>DenyDropVisualFeedback_SL.xap</XapFilename>
|
||||
<SilverlightManifestTemplate>Properties\AppManifest.xml</SilverlightManifestTemplate>
|
||||
<SilverlightAppEntry>DenyDropVisualFeedback_SL.AppSL</SilverlightAppEntry>
|
||||
<TestPageFileName>DenyDropVisualFeedback_SLTestPage.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" />
|
||||
<Reference Include="Telerik.Windows.Controls.Navigation" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="App_SL.xaml.cs">
|
||||
<DependentUpon>App_SL.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="MainPage.xaml.cs">
|
||||
<DependentUpon>MainPage.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="ViewModels\Division.cs" />
|
||||
<Compile Include="ViewModels\League.cs" />
|
||||
<Compile Include="ViewModels\RadTreeViewSampleData.cs" />
|
||||
<Compile Include="ViewModels\Team.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>
|
|
@ -1,118 +0,0 @@
|
|||
<?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>{681EB2D2-BDD6-4DFA-A0BB-A2D413E5672B}</ProjectGuid>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>DenyDropVisualFeedback_WPF</RootNamespace>
|
||||
<AssemblyName>DenyDropVisualFeedback_WPF</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>
|
||||
<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"/>
|
||||
<Reference Include="Telerik.Windows.Controls.Navigation"/>
|
||||
<Reference Include="Telerik.Windows.Data"/>
|
||||
<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="ViewModels\Division.cs" />
|
||||
<Compile Include="ViewModels\League.cs" />
|
||||
<Compile Include="ViewModels\RadTreeViewSampleData.cs" />
|
||||
<Compile Include="ViewModels\Team.cs" />
|
||||
<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="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>
|
||||
<None Include="App.config" />
|
||||
</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,36 +0,0 @@
|
|||
<UserControl x:Class="DenyDropVisualFeedback_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:sampleData="clr-namespace:DenyDropVisualFeedback.ViewModels"
|
||||
xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"
|
||||
mc:Ignorable="d"
|
||||
d:DesignHeight="300" d:DesignWidth="400">
|
||||
<Grid>
|
||||
<Grid.Resources>
|
||||
<sampleData:RadTreeViewSampleData x:Key="DataSource" />
|
||||
|
||||
<DataTemplate x:Key="Team">
|
||||
<TextBlock Text="{Binding Name}" />
|
||||
</DataTemplate>
|
||||
<telerik:HierarchicalDataTemplate x:Key="Division"
|
||||
ItemTemplate="{StaticResource Team}"
|
||||
ItemsSource="{Binding Teams}">
|
||||
<TextBlock Text="{Binding Name}" />
|
||||
</telerik:HierarchicalDataTemplate>
|
||||
<telerik:HierarchicalDataTemplate x:Key="League"
|
||||
ItemTemplate="{StaticResource Division}"
|
||||
ItemsSource="{Binding Divisions}">
|
||||
<TextBlock Text="{Binding Name}" />
|
||||
</telerik:HierarchicalDataTemplate>
|
||||
</Grid.Resources>
|
||||
<telerik:RadTreeView x:Name="xTreeView"
|
||||
Margin="8"
|
||||
IsDragDropEnabled="True"
|
||||
ItemTemplate="{StaticResource League}"
|
||||
ItemsSource="{Binding Source={StaticResource DataSource},
|
||||
Path=LeaguesDataSource}"
|
||||
telerik:TreeViewSettings.DragDropExecutionMode="New" />
|
||||
</Grid>
|
||||
</UserControl>
|
|
@ -1,32 +0,0 @@
|
|||
using System;
|
||||
using System.Linq;
|
||||
using System.Windows.Controls;
|
||||
using DenyDropVisualFeedback.ViewModels;
|
||||
using Telerik.Windows.Controls.TreeView;
|
||||
using Telerik.Windows.DragDrop;
|
||||
|
||||
namespace DenyDropVisualFeedback_SL
|
||||
{
|
||||
public partial class MainPage : UserControl
|
||||
{
|
||||
public MainPage()
|
||||
{
|
||||
InitializeComponent();
|
||||
DragDropManager.AddDragOverHandler(xTreeView, OnDragOverTree, true);
|
||||
}
|
||||
private void OnDragOverTree(object sender, Telerik.Windows.DragDrop.DragEventArgs e)
|
||||
{
|
||||
var options = DragDropPayloadManager.GetDataFromObject(e.Data, TreeViewDragDropOptions.Key) as TreeViewDragDropOptions;
|
||||
if (options != null && options.DropPosition == Telerik.Windows.Controls.DropPosition.Inside && options.DropTargetItem != null && options.DropTargetItem.Item is Division)
|
||||
{
|
||||
options.DropAction = DropAction.None;
|
||||
var dragVisual = options.DragVisual as TreeViewDragVisual;
|
||||
if (dragVisual != null)
|
||||
{
|
||||
dragVisual.IsDropPossible = false;
|
||||
dragVisual.DropActionText = "Cannot drop into ";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,35 +0,0 @@
|
|||
<Window x:Class="DenyDropVisualFeedback_WPF.MainWindow"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:sampleData="clr-namespace:DenyDropVisualFeedback.ViewModels"
|
||||
xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"
|
||||
Title="MainWindow"
|
||||
Width="525"
|
||||
Height="350">
|
||||
<Grid>
|
||||
<Grid.Resources>
|
||||
<sampleData:RadTreeViewSampleData x:Key="DataSource" />
|
||||
|
||||
<DataTemplate x:Key="Team">
|
||||
<TextBlock Text="{Binding Name}" />
|
||||
</DataTemplate>
|
||||
<HierarchicalDataTemplate x:Key="Division"
|
||||
ItemTemplate="{StaticResource Team}"
|
||||
ItemsSource="{Binding Teams}">
|
||||
<TextBlock Text="{Binding Name}" />
|
||||
</HierarchicalDataTemplate>
|
||||
<HierarchicalDataTemplate x:Key="League"
|
||||
ItemTemplate="{StaticResource Division}"
|
||||
ItemsSource="{Binding Divisions}">
|
||||
<TextBlock Text="{Binding Name}" />
|
||||
</HierarchicalDataTemplate>
|
||||
</Grid.Resources>
|
||||
<telerik:RadTreeView x:Name="xTreeView"
|
||||
Margin="8"
|
||||
IsDragDropEnabled="True"
|
||||
ItemTemplate="{StaticResource League}"
|
||||
ItemsSource="{Binding Source={StaticResource DataSource},
|
||||
Path=LeaguesDataSource}"
|
||||
telerik:TreeViewSettings.DragDropExecutionMode="New" />
|
||||
</Grid>
|
||||
</Window>
|
|
@ -1,35 +0,0 @@
|
|||
using System;
|
||||
using System.Linq;
|
||||
using System.Windows;
|
||||
using DenyDropVisualFeedback.ViewModels;
|
||||
using Telerik.Windows.Controls.TreeView;
|
||||
using Telerik.Windows.DragDrop;
|
||||
|
||||
namespace DenyDropVisualFeedback_WPF
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaction logic for MainWindow.xaml
|
||||
/// </summary>
|
||||
public partial class MainWindow : Window
|
||||
{
|
||||
public MainWindow()
|
||||
{
|
||||
InitializeComponent();
|
||||
DragDropManager.AddDragOverHandler(xTreeView, OnDragOverTree, true);
|
||||
}
|
||||
private void OnDragOverTree(object sender, Telerik.Windows.DragDrop.DragEventArgs e)
|
||||
{
|
||||
var options = DragDropPayloadManager.GetDataFromObject(e.Data, TreeViewDragDropOptions.Key) as TreeViewDragDropOptions;
|
||||
if (options != null && options.DropPosition == Telerik.Windows.Controls.DropPosition.Inside && options.DropTargetItem != null && options.DropTargetItem.Item is Division)
|
||||
{
|
||||
options.DropAction = DropAction.None;
|
||||
var dragVisual = options.DragVisual as TreeViewDragVisual;
|
||||
if (dragVisual != null)
|
||||
{
|
||||
dragVisual.IsDropPossible = false;
|
||||
dragVisual.DropActionText = "Cannot drop into ";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
<Deployment xmlns="http://schemas.microsoft.com/client/2007/deployment"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
>
|
||||
<Deployment.Parts>
|
||||
</Deployment.Parts>
|
||||
</Deployment>
|
|
@ -1,55 +0,0 @@
|
|||
using System.Reflection;
|
||||
using System.Resources;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Windows;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("DenyDropVisualFeedback_WPF")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("Microsoft")]
|
||||
[assembly: AssemblyProduct("DenyDropVisualFeedback_WPF")]
|
||||
[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)]
|
||||
|
||||
//In order to begin building localizable applications, set
|
||||
//<UICulture>CultureYouAreCodingWith</UICulture> in your .csproj file
|
||||
//inside a <PropertyGroup>. For example, if you are using US english
|
||||
//in your source files, set the <UICulture> to en-US. Then uncomment
|
||||
//the NeutralResourceLanguage attribute below. Update the "en-US" in
|
||||
//the line below to match the UICulture setting in the project file.
|
||||
|
||||
//[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
|
||||
|
||||
#if WPF
|
||||
[assembly: ThemeInfo(
|
||||
ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
|
||||
//(used if a resource is not found in the page,
|
||||
// or application resource dictionaries)
|
||||
ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
|
||||
//(used if a resource is not found in the page,
|
||||
// app, or any theme specific resource dictionaries)
|
||||
)]
|
||||
#endif
|
||||
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
|
@ -1,7 +0,0 @@
|
|||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<SettingsFile xmlns="uri:settings" CurrentProfile="(Default)">
|
||||
<Profiles>
|
||||
<Profile Name="(Default)" />
|
||||
</Profiles>
|
||||
<Settings />
|
||||
</SettingsFile>
|
|
@ -1,25 +0,0 @@
|
|||
using System;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.Linq;
|
||||
|
||||
namespace DenyDropVisualFeedback.ViewModels
|
||||
{
|
||||
public class Division
|
||||
{
|
||||
public Division(string name)
|
||||
{
|
||||
this.Name = name;
|
||||
this.Teams = new ObservableCollection<Team>();
|
||||
}
|
||||
public string Name
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
public ObservableCollection<Team> Teams
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,25 +0,0 @@
|
|||
using System;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.Linq;
|
||||
|
||||
namespace DenyDropVisualFeedback.ViewModels
|
||||
{
|
||||
public class League
|
||||
{
|
||||
public League(string name)
|
||||
{
|
||||
this.Name = name;
|
||||
this.Divisions = new ObservableCollection<Division>();
|
||||
}
|
||||
public string Name
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
public ObservableCollection<Division> Divisions
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,61 +0,0 @@
|
|||
using System;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.Linq;
|
||||
|
||||
namespace DenyDropVisualFeedback.ViewModels
|
||||
{
|
||||
public class RadTreeViewSampleData
|
||||
{
|
||||
public RadTreeViewSampleData()
|
||||
{
|
||||
this.InitializeLeaguesDataSource();
|
||||
}
|
||||
public ObservableCollection<League> LeaguesDataSource
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
private void InitializeLeaguesDataSource()
|
||||
{
|
||||
this.LeaguesDataSource = new ObservableCollection<League>();
|
||||
League l;
|
||||
Division d;
|
||||
this.LeaguesDataSource.Add(l = new League("League A"));
|
||||
l.Divisions.Add((d = new Division("Division A")));
|
||||
d.Teams.Add(new Team("Team I"));
|
||||
d.Teams.Add(new Team("Team II"));
|
||||
d.Teams.Add(new Team("Team III"));
|
||||
d.Teams.Add(new Team("Team IV"));
|
||||
d.Teams.Add(new Team("Team V"));
|
||||
l.Divisions.Add((d = new Division("Division B")));
|
||||
d.Teams.Add(new Team("Team Blue"));
|
||||
d.Teams.Add(new Team("Team Red"));
|
||||
d.Teams.Add(new Team("Team Yellow"));
|
||||
d.Teams.Add(new Team("Team Green"));
|
||||
d.Teams.Add(new Team("Team Orange"));
|
||||
l.Divisions.Add((d = new Division("Division C")));
|
||||
d.Teams.Add(new Team("Team East"));
|
||||
d.Teams.Add(new Team("Team West"));
|
||||
d.Teams.Add(new Team("Team North"));
|
||||
d.Teams.Add(new Team("Team South"));
|
||||
this.LeaguesDataSource.Add(l = new League("League B"));
|
||||
l.Divisions.Add((d = new Division("Division A")));
|
||||
d.Teams.Add(new Team("Team 1"));
|
||||
d.Teams.Add(new Team("Team 2"));
|
||||
d.Teams.Add(new Team("Team 3"));
|
||||
d.Teams.Add(new Team("Team 4"));
|
||||
d.Teams.Add(new Team("Team 5"));
|
||||
l.Divisions.Add((d = new Division("Division B")));
|
||||
d.Teams.Add(new Team("Team Diamond"));
|
||||
d.Teams.Add(new Team("Team Heart"));
|
||||
d.Teams.Add(new Team("Team Club"));
|
||||
d.Teams.Add(new Team("Team Spade"));
|
||||
l.Divisions.Add((d = new Division("Division C")));
|
||||
d.Teams.Add(new Team("Team Alpha"));
|
||||
d.Teams.Add(new Team("Team Beta"));
|
||||
d.Teams.Add(new Team("Team Gamma"));
|
||||
d.Teams.Add(new Team("Team Delta"));
|
||||
d.Teams.Add(new Team("Team Epsilon"));
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,18 +0,0 @@
|
|||
using System;
|
||||
using System.Linq;
|
||||
|
||||
namespace DenyDropVisualFeedback.ViewModels
|
||||
{
|
||||
public class Team
|
||||
{
|
||||
public Team(string name)
|
||||
{
|
||||
this.Name = name;
|
||||
}
|
||||
public string Name
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1 +0,0 @@
|
|||
This example demonstrates how to deny a drop operation over a specific item (of type Division) and modify the visual feedback to indicate that the operation is not allowed.
|
|
@ -1,6 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<configuration>
|
||||
<startup>
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
|
||||
</startup>
|
||||
</configuration>
|
|
@ -1,8 +0,0 @@
|
|||
<Application x:Class="DragDropTreeViewToControls.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>
|
|
@ -1,17 +0,0 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Configuration;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows;
|
||||
|
||||
namespace DragDropTreeViewToControls
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaction logic for App.xaml
|
||||
/// </summary>
|
||||
public partial class App : Application
|
||||
{
|
||||
}
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
<Application xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
x:Class="DragDropTreeViewToControls_SL.App"
|
||||
>
|
||||
<Application.Resources>
|
||||
|
||||
</Application.Resources>
|
||||
</Application>
|
|
@ -1,204 +0,0 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Windows;
|
||||
using DragDropTreeViewToControls.ViewModels;
|
||||
using Telerik.Windows.DragDrop;
|
||||
using Telerik.Windows.Controls;
|
||||
using Telerik.Windows.DragDrop.Behaviors;
|
||||
using System.Collections;
|
||||
using System.Windows.Input;
|
||||
using Telerik.Windows.Controls.TreeView;
|
||||
|
||||
namespace DragDropTreeViewToControls.Behaviors
|
||||
{
|
||||
public class ListBoxDragDropBehavior
|
||||
{
|
||||
private System.Windows.Controls.ListBox _associatedObject;
|
||||
/// <summary>
|
||||
/// object that will be associated with the ListBox instance that enables the behavior
|
||||
/// </summary>
|
||||
public System.Windows.Controls.ListBox AssociatedObject
|
||||
{
|
||||
get
|
||||
{
|
||||
return _associatedObject;
|
||||
}
|
||||
set
|
||||
{
|
||||
_associatedObject = value;
|
||||
}
|
||||
}
|
||||
|
||||
private static Dictionary<System.Windows.Controls.ListBox, ListBoxDragDropBehavior> instances;
|
||||
|
||||
static ListBoxDragDropBehavior()
|
||||
{
|
||||
instances = new Dictionary<System.Windows.Controls.ListBox, ListBoxDragDropBehavior>();
|
||||
}
|
||||
|
||||
public static bool GetIsEnabled(DependencyObject obj)
|
||||
{
|
||||
return (bool)obj.GetValue(IsEnabledProperty);
|
||||
}
|
||||
|
||||
public static void SetIsEnabled(DependencyObject obj, bool value)
|
||||
{
|
||||
ListBoxDragDropBehavior behavior = GetAttachedBehavior(obj as System.Windows.Controls.ListBox);
|
||||
|
||||
behavior.AssociatedObject = obj as System.Windows.Controls.ListBox;
|
||||
|
||||
if (value)
|
||||
{
|
||||
behavior.Initialize();
|
||||
}
|
||||
else
|
||||
{
|
||||
behavior.CleanUp();
|
||||
}
|
||||
obj.SetValue(IsEnabledProperty, value);
|
||||
}
|
||||
|
||||
// Using a DependencyProperty as the backing store for IsEnabled state of the behavior
|
||||
public static readonly DependencyProperty IsEnabledProperty =
|
||||
DependencyProperty.RegisterAttached("IsEnabled", typeof(bool), typeof(ListBoxDragDropBehavior),
|
||||
new PropertyMetadata(new PropertyChangedCallback(OnIsEnabledPropertyChanged)));
|
||||
|
||||
public static void OnIsEnabledPropertyChanged(DependencyObject dependencyObject, DependencyPropertyChangedEventArgs e)
|
||||
{
|
||||
SetIsEnabled(dependencyObject, (bool)e.NewValue);
|
||||
}
|
||||
|
||||
private static ListBoxDragDropBehavior GetAttachedBehavior(System.Windows.Controls.ListBox listBox)
|
||||
{
|
||||
if (!instances.ContainsKey(listBox))
|
||||
{
|
||||
instances[listBox] = new ListBoxDragDropBehavior();
|
||||
instances[listBox].AssociatedObject = listBox;
|
||||
}
|
||||
|
||||
return instances[listBox];
|
||||
}
|
||||
|
||||
//initializes the behavior by detaching from any existing DragDropManager event handlers and attaching new DragDropManager event handlers
|
||||
protected virtual void Initialize()
|
||||
{
|
||||
this.UnsubscribeFromDragDropEvents();
|
||||
this.SubscribeToDragDropEvents();
|
||||
}
|
||||
|
||||
//cleans up after disabling the behavior by detaching from the DragDropManager event handlers
|
||||
protected virtual void CleanUp()
|
||||
{
|
||||
this.UnsubscribeFromDragDropEvents();
|
||||
}
|
||||
|
||||
//attaching new DragDropManager event handlers
|
||||
private void SubscribeToDragDropEvents()
|
||||
{
|
||||
DragDropManager.AddDragInitializeHandler(this.AssociatedObject, OnDragInitialize);
|
||||
DragDropManager.AddGiveFeedbackHandler(this.AssociatedObject, OnGiveFeedback);
|
||||
DragDropManager.AddDropHandler(this.AssociatedObject, OnDrop);
|
||||
DragDropManager.AddDragDropCompletedHandler(this.AssociatedObject, OnDragDropCompleted);
|
||||
DragDropManager.AddDragOverHandler(this.AssociatedObject, OnDragOver);
|
||||
}
|
||||
|
||||
//unsubscribing from the DragDropManager event handlers
|
||||
private void UnsubscribeFromDragDropEvents()
|
||||
{
|
||||
DragDropManager.RemoveDragInitializeHandler(this.AssociatedObject, OnDragInitialize);
|
||||
DragDropManager.RemoveGiveFeedbackHandler(this.AssociatedObject, OnGiveFeedback);
|
||||
DragDropManager.RemoveDropHandler(this.AssociatedObject, OnDrop);
|
||||
DragDropManager.RemoveDragDropCompletedHandler(this.AssociatedObject, OnDragDropCompleted);
|
||||
DragDropManager.RemoveDragOverHandler(this.AssociatedObject, OnDragOver);
|
||||
|
||||
}
|
||||
|
||||
private void OnDragInitialize(object sender, DragInitializeEventArgs e)
|
||||
{
|
||||
DropIndicationDetails details = new DropIndicationDetails();
|
||||
var listBoxItem = e.OriginalSource as System.Windows.Controls.ListBoxItem ?? (e.OriginalSource as FrameworkElement).ParentOfType<System.Windows.Controls.ListBoxItem>();
|
||||
|
||||
var item = listBoxItem != null ? listBoxItem.DataContext : (sender as System.Windows.Controls.ListBox).SelectedItem;
|
||||
details.CurrentDraggedItem = item;
|
||||
|
||||
IDragPayload dragPayload = DragDropPayloadManager.GeneratePayload(null);
|
||||
|
||||
dragPayload.SetData("DraggedData", item);
|
||||
dragPayload.SetData("DropDetails", details);
|
||||
|
||||
e.Data = dragPayload;
|
||||
|
||||
e.DragVisual = new DragVisual()
|
||||
{
|
||||
Content = details,
|
||||
ContentTemplate = this.AssociatedObject.Resources["DraggedItemTemplate"] as DataTemplate
|
||||
};
|
||||
e.DragVisualOffset = e.RelativeStartPoint;
|
||||
e.AllowedEffects = DragDropEffects.All;
|
||||
}
|
||||
|
||||
private void OnGiveFeedback(object sender, Telerik.Windows.DragDrop.GiveFeedbackEventArgs e)
|
||||
{
|
||||
e.SetCursor(Cursors.Arrow);
|
||||
e.Handled = true;
|
||||
}
|
||||
|
||||
private void OnDragDropCompleted(object sender, DragDropCompletedEventArgs e)
|
||||
{
|
||||
var draggedItem = DragDropPayloadManager.GetDataFromObject(e.Data, "DraggedData");
|
||||
|
||||
if (e.Effects != DragDropEffects.None)
|
||||
{
|
||||
var collection = (sender as System.Windows.Controls.ListBox).ItemsSource as IList;
|
||||
collection.Remove(draggedItem);
|
||||
}
|
||||
}
|
||||
|
||||
private void OnDrop(object sender, Telerik.Windows.DragDrop.DragEventArgs e)
|
||||
{
|
||||
TreeViewDragDropOptions options = DragDropPayloadManager.GetDataFromObject(e.Data, TreeViewDragDropOptions.Key) as TreeViewDragDropOptions;
|
||||
if (options == null) return;
|
||||
var draggedItem = options.DraggedItems.FirstOrDefault();
|
||||
|
||||
if (draggedItem == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (e.Effects != DragDropEffects.None)
|
||||
{
|
||||
var collection = (sender as System.Windows.Controls.ListBox).ItemsSource as IList;
|
||||
collection.Add(draggedItem);
|
||||
}
|
||||
|
||||
e.Handled = true;
|
||||
}
|
||||
|
||||
private void OnDragOver(object sender, Telerik.Windows.DragDrop.DragEventArgs e)
|
||||
{
|
||||
TreeViewDragDropOptions options = DragDropPayloadManager.GetDataFromObject(e.Data, TreeViewDragDropOptions.Key) as TreeViewDragDropOptions;
|
||||
if (options == null)
|
||||
{
|
||||
e.Effects = DragDropEffects.None;
|
||||
e.Handled = true;
|
||||
return;
|
||||
}
|
||||
var draggedItem = options.DraggedItems.FirstOrDefault();
|
||||
var itemsType = (this.AssociatedObject.ItemsSource as IList).AsQueryable().ElementType;
|
||||
|
||||
|
||||
if (draggedItem.GetType() != itemsType)
|
||||
{
|
||||
e.Effects = DragDropEffects.None;
|
||||
}
|
||||
else
|
||||
{
|
||||
(options.DragVisual as TreeViewDragVisual).IsDropPossible = true;
|
||||
options.DropAction = DropAction.Move;
|
||||
options.UpdateDragVisual();
|
||||
}
|
||||
e.Handled = true;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,121 +0,0 @@
|
|||
<?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>{F64B81F1-5254-4F5D-BB4D-9B055C137A8C}</ProjectGuid>
|
||||
<ProjectTypeGuids>{A1591282-1198-4647-A2B1-27E5FF5F6F3B};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>DragDropTreeViewToControls_SL</RootNamespace>
|
||||
<AssemblyName>DragDropTreeViewToControls_SL</AssemblyName>
|
||||
<TargetFrameworkIdentifier>Silverlight</TargetFrameworkIdentifier>
|
||||
<TargetFrameworkVersion>v5.0</TargetFrameworkVersion>
|
||||
<SilverlightVersion>$(TargetFrameworkVersion)</SilverlightVersion>
|
||||
<SilverlightApplication>true</SilverlightApplication>
|
||||
<SupportedCultures>
|
||||
</SupportedCultures>
|
||||
<XapOutputs>true</XapOutputs>
|
||||
<GenerateSilverlightManifest>true</GenerateSilverlightManifest>
|
||||
<XapFilename>DragDropTreeViewToControls_SL.xap</XapFilename>
|
||||
<SilverlightManifestTemplate>Properties\AppManifest.xml</SilverlightManifestTemplate>
|
||||
<SilverlightAppEntry>DragDropTreeViewToControls_SL.App</SilverlightAppEntry>
|
||||
<TestPageFileName>DragDropTreeViewToControls_SLTestPage.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"/>
|
||||
<Reference Include="Telerik.Windows.Controls.Navigation"/>
|
||||
<Reference Include="Telerik.Windows.Data"/>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="App_SL.xaml.cs">
|
||||
<DependentUpon>App_SL.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Behaviors\ListBoxDragDropBehavior.cs" />
|
||||
<Compile Include="MainPage.xaml.cs">
|
||||
<DependentUpon>MainPage.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="ViewModels\CategoryViewModel.cs" />
|
||||
<Compile Include="ViewModels\DropIndicationDetails.cs" />
|
||||
<Compile Include="ViewModels\ProductViewModel.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>
|
|
@ -1,118 +0,0 @@
|
|||
<?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>{DF4529DF-6A45-4C13-8975-54DF9AE0DAE9}</ProjectGuid>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>DragDropTreeViewToControls</RootNamespace>
|
||||
<AssemblyName>DragDropTreeViewToControls_WPF</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>
|
||||
<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" />
|
||||
<Reference Include="Telerik.Windows.Controls.Navigation" />
|
||||
<Reference Include="Telerik.Windows.Data" />
|
||||
<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="Behaviors\ListBoxDragDropBehavior.cs" />
|
||||
<Compile Include="ViewModels\CategoryViewModel.cs" />
|
||||
<Compile Include="ViewModels\DropIndicationDetails.cs" />
|
||||
<Compile Include="ViewModels\ProductViewModel.cs" />
|
||||
<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="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>
|
||||
<None Include="App.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Images\folder_icon.png" />
|
||||
</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>
|
Двоичные данные
TreeView/DragDropTreeViewToControls/Images/folder_icon.png
Двоичные данные
TreeView/DragDropTreeViewToControls/Images/folder_icon.png
Двоичный файл не отображается.
До Ширина: | Высота: | Размер: 3.2 KiB |
|
@ -1,106 +0,0 @@
|
|||
<UserControl x:Class="DragDropTreeViewToControls_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:example="clr-namespace:DragDropTreeViewToControls.Behaviors"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"
|
||||
d:DesignHeight="300"
|
||||
d:DesignWidth="400"
|
||||
mc:Ignorable="d">
|
||||
<Grid x:Name="LayoutRoot"
|
||||
Margin="8"
|
||||
Background="White">
|
||||
<Grid.Resources>
|
||||
<DataTemplate x:Key="WishlistProduct">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<TextBlock Foreground="#FF000000" Text="{Binding Name}" />
|
||||
<TextBlock Foreground="#FF000000" Text=", (" />
|
||||
<TextBlock Foreground="#FF000000" Text="{Binding UnitPrice}" />
|
||||
<TextBlock Foreground="#FF000000" Text=")" />
|
||||
</StackPanel>
|
||||
</DataTemplate>
|
||||
<DataTemplate x:Key="ProductTemplate">
|
||||
<telerik:RadDockPanel MaxWidth="200" Margin="2">
|
||||
<TextBlock Foreground="{telerik:Windows8Resource ResourceKey=MarkerBrush}"
|
||||
Text="{Binding Name}"
|
||||
telerik:RadDockPanel.Dock="Top" />
|
||||
<TextBlock Foreground="{telerik:Windows8Resource ResourceKey=AccentBrush}"
|
||||
Text="{Binding UnitPrice}"
|
||||
telerik:RadDockPanel.Dock="Left" />
|
||||
<TextBlock Margin="2 0 0 0"
|
||||
Foreground="{telerik:Windows8Resource ResourceKey=StrongBrush}"
|
||||
Text="{Binding Description}"
|
||||
TextWrapping="Wrap"
|
||||
telerik:RadDockPanel.Dock="Left" />
|
||||
</telerik:RadDockPanel>
|
||||
</DataTemplate>
|
||||
<telerik:HierarchicalDataTemplate x:Key="CategoryTemplate"
|
||||
ItemTemplate="{StaticResource ProductTemplate}"
|
||||
ItemsSource="{Binding Items}">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<Image Width="16"
|
||||
Height="16"
|
||||
Margin="3"
|
||||
VerticalAlignment="Center"
|
||||
Source="Images/folder_icon.png" />
|
||||
<TextBlock Margin="2"
|
||||
VerticalAlignment="Center"
|
||||
Foreground="{telerik:Windows8Resource ResourceKey=MarkerBrush}"
|
||||
Text="{Binding Name}" />
|
||||
</StackPanel>
|
||||
</telerik:HierarchicalDataTemplate>
|
||||
<!-- Note: With this style we make the ListBoxItems draggable: -->
|
||||
<Style TargetType="ListBoxItem">
|
||||
<Setter Property="telerik:DragDropManager.AllowCapturedDrag" Value="True" />
|
||||
</Style>
|
||||
|
||||
<Style TargetType="telerik:RadTreeViewItem">
|
||||
<Setter Property="IsExpanded" Value="True" />
|
||||
</Style>
|
||||
</Grid.Resources>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="2*" />
|
||||
<ColumnDefinition Width="3*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<!-- All Products -->
|
||||
<telerik:RadTreeView x:Name="allProductsView"
|
||||
Grid.Row="0"
|
||||
Grid.RowSpan="2"
|
||||
Grid.Column="0"
|
||||
Margin="0,0,5,0"
|
||||
IsDragDropEnabled="True"
|
||||
ItemTemplate="{StaticResource CategoryTemplate}"
|
||||
Padding="5"
|
||||
telerik:TreeViewSettings.DragDropExecutionMode="New" />
|
||||
|
||||
<!-- Whishlist -->
|
||||
<ListBox x:Name="wishlistView"
|
||||
Grid.Column="1"
|
||||
AllowDrop="True"
|
||||
FontSize="11"
|
||||
ItemTemplate="{StaticResource WishlistProduct}"
|
||||
Padding="5"
|
||||
SelectionMode="Extended"
|
||||
example:ListBoxDragDropBehavior.IsEnabled="True">
|
||||
<ListBox.Resources>
|
||||
<DataTemplate x:Key="DraggedItemTemplate">
|
||||
<StackPanel>
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<TextBlock Text="Dragging:" />
|
||||
<TextBlock FontWeight="Bold" Text="{Binding CurrentDraggedItem.Name}" />
|
||||
</StackPanel>
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<TextBlock MinWidth="45"
|
||||
FontWeight="Bold"
|
||||
Text="{Binding CurrentDropPosition}" />
|
||||
<TextBlock Foreground="Gray" Text=", (" />
|
||||
<TextBlock Text="{Binding CurrentDraggedOverItem.Name}" />
|
||||
<TextBlock Foreground="Gray" Text=")" />
|
||||
</StackPanel>
|
||||
</StackPanel>
|
||||
</DataTemplate>
|
||||
</ListBox.Resources>
|
||||
</ListBox>
|
||||
</Grid>
|
||||
</UserControl>
|
|
@ -1,122 +0,0 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.Linq;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using DragDropTreeViewToControls.ViewModels;
|
||||
using Telerik.Windows.Controls;
|
||||
using Telerik.Windows.DragDrop;
|
||||
|
||||
namespace DragDropTreeViewToControls_SL
|
||||
{
|
||||
public partial class MainPage : UserControl
|
||||
{
|
||||
public MainPage()
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
// Set the items source of the controls:
|
||||
allProductsView.ItemsSource = CategoryViewModel.Generate();
|
||||
|
||||
IList wishlistSource = new ObservableCollection<ProductViewModel>();
|
||||
foreach (ProductViewModel product in ProductViewModel.Generate(6))
|
||||
{
|
||||
wishlistSource.Add(product);
|
||||
}
|
||||
wishlistView.ItemsSource = wishlistSource;
|
||||
|
||||
DragDropManager.AddDragOverHandler(allProductsView, OnItemDragOver);
|
||||
DragDropManager.AddDropHandler(allProductsView, OnDrop);
|
||||
}
|
||||
|
||||
private void OnDrop(object sender, Telerik.Windows.DragDrop.DragEventArgs e)
|
||||
{
|
||||
var data = DragDropPayloadManager.GetDataFromObject(e.Data, "DraggedData");
|
||||
if (data == null) return;
|
||||
if (e.Effects != DragDropEffects.None)
|
||||
{
|
||||
var destinationItem = (e.OriginalSource as FrameworkElement).ParentOfType<RadTreeViewItem>();
|
||||
var dropDetails = DragDropPayloadManager.GetDataFromObject(e.Data, "DropDetails") as DropIndicationDetails;
|
||||
|
||||
if (destinationItems != null)
|
||||
{
|
||||
int dropIndex = dropDetails.DropIndex >= destinationItems.Count ? destinationItems.Count : dropDetails.DropIndex < 0 ? 0 : dropDetails.DropIndex;
|
||||
this.destinationItems.Insert(dropIndex, data);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
IList destinationItems = null;
|
||||
private void OnItemDragOver(object sender, Telerik.Windows.DragDrop.DragEventArgs e)
|
||||
{
|
||||
var item = (e.OriginalSource as FrameworkElement).ParentOfType<RadTreeViewItem>();
|
||||
if (item == null)
|
||||
{
|
||||
e.Effects = DragDropEffects.None;
|
||||
e.Handled = true;
|
||||
return;
|
||||
}
|
||||
var position = GetPosition(item, e.GetPosition(item));
|
||||
if (item.Level == 0 && position != DropPosition.Inside)
|
||||
{
|
||||
e.Effects = DragDropEffects.None;
|
||||
e.Handled = true;
|
||||
return;
|
||||
}
|
||||
RadTreeView tree = sender as RadTreeView;
|
||||
var draggedData = DragDropPayloadManager.GetDataFromObject(e.Data, "DraggedData");
|
||||
var dropDetails = DragDropPayloadManager.GetDataFromObject(e.Data, "DropDetails") as DropIndicationDetails;
|
||||
|
||||
if ((draggedData == null && dropDetails == null))
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (position != DropPosition.Inside)
|
||||
{
|
||||
e.Effects = DragDropEffects.All;
|
||||
|
||||
destinationItems = item.Level > 0 ? (IList)item.ParentItem.ItemsSource : (IList)tree.ItemsSource;
|
||||
int index = destinationItems.IndexOf(item.Item);
|
||||
dropDetails.DropIndex = position == DropPosition.Before ? index : index + 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
destinationItems = (IList)item.ItemsSource;
|
||||
int index = 0;
|
||||
|
||||
if (destinationItems == null)
|
||||
{
|
||||
e.Effects = DragDropEffects.None;
|
||||
}
|
||||
else
|
||||
{
|
||||
e.Effects = DragDropEffects.All;
|
||||
dropDetails.DropIndex = index;
|
||||
}
|
||||
}
|
||||
|
||||
dropDetails.CurrentDraggedOverItem = item.Item;
|
||||
dropDetails.CurrentDropPosition = position;
|
||||
|
||||
e.Handled = true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
private DropPosition GetPosition(RadTreeViewItem item, Point point)
|
||||
{
|
||||
double treeViewItemHeight = 24;
|
||||
if (point.Y < treeViewItemHeight / 4)
|
||||
{
|
||||
return DropPosition.Before;
|
||||
}
|
||||
else if (point.Y > treeViewItemHeight * 3 / 4)
|
||||
{
|
||||
return DropPosition.After;
|
||||
}
|
||||
|
||||
return DropPosition.Inside;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,102 +0,0 @@
|
|||
<Window x:Class="DragDropTreeViewToControls.MainWindow"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:example="clr-namespace:DragDropTreeViewToControls.Behaviors"
|
||||
xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"
|
||||
Title="MainWindow">
|
||||
<Grid x:Name="LayoutRoot"
|
||||
Margin="8"
|
||||
Background="White">
|
||||
<Grid.Resources>
|
||||
<DataTemplate x:Key="WishlistProduct">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<TextBlock Foreground="#FF000000" Text="{Binding Name}" />
|
||||
<TextBlock Foreground="#FF000000" Text=", (" />
|
||||
<TextBlock Foreground="#FF000000" Text="{Binding UnitPrice}" />
|
||||
<TextBlock Foreground="#FF000000" Text=")" />
|
||||
</StackPanel>
|
||||
</DataTemplate>
|
||||
<DataTemplate x:Key="ProductTemplate">
|
||||
<telerik:RadDockPanel MaxWidth="200" Margin="2">
|
||||
<TextBlock Foreground="{telerik:Windows8Resource ResourceKey=MarkerBrush}"
|
||||
Text="{Binding Name}"
|
||||
telerik:RadDockPanel.Dock="Top" />
|
||||
<TextBlock Foreground="{telerik:Windows8Resource ResourceKey=AccentBrush}"
|
||||
Text="{Binding UnitPrice}"
|
||||
telerik:RadDockPanel.Dock="Left" />
|
||||
<TextBlock Margin="2 0 0 0"
|
||||
Foreground="{telerik:Windows8Resource ResourceKey=StrongBrush}"
|
||||
Text="{Binding Description}"
|
||||
TextWrapping="Wrap"
|
||||
telerik:RadDockPanel.Dock="Left" />
|
||||
</telerik:RadDockPanel>
|
||||
</DataTemplate>
|
||||
<HierarchicalDataTemplate x:Key="CategoryTemplate"
|
||||
ItemTemplate="{StaticResource ProductTemplate}"
|
||||
ItemsSource="{Binding Items}">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<Image Width="16"
|
||||
Height="16"
|
||||
Margin="3"
|
||||
VerticalAlignment="Center"
|
||||
Source="Images/folder_icon.png" />
|
||||
<TextBlock Margin="2"
|
||||
VerticalAlignment="Center"
|
||||
Foreground="{telerik:Windows8Resource ResourceKey=MarkerBrush}"
|
||||
Text="{Binding Name}" />
|
||||
</StackPanel>
|
||||
</HierarchicalDataTemplate>
|
||||
<!-- Note: With this style we make the ListBoxItems draggable: -->
|
||||
<Style TargetType="ListBoxItem">
|
||||
<Setter Property="telerik:DragDropManager.AllowCapturedDrag" Value="True" />
|
||||
</Style>
|
||||
|
||||
<Style TargetType="telerik:RadTreeViewItem">
|
||||
<Setter Property="IsExpanded" Value="True" />
|
||||
</Style>
|
||||
</Grid.Resources>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="2*" />
|
||||
<ColumnDefinition Width="3*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<!-- All Products -->
|
||||
<telerik:RadTreeView x:Name="allProductsView"
|
||||
Grid.Row="0"
|
||||
Grid.RowSpan="2"
|
||||
Grid.Column="0"
|
||||
Margin="0,0,5,0"
|
||||
IsDragDropEnabled="True"
|
||||
ItemTemplate="{StaticResource CategoryTemplate}"
|
||||
Padding="5"
|
||||
telerik:TreeViewSettings.DragDropExecutionMode="New" />
|
||||
|
||||
<!-- Whishlist -->
|
||||
<ListBox x:Name="wishlistView"
|
||||
Grid.Column="1"
|
||||
AllowDrop="True"
|
||||
FontSize="11"
|
||||
ItemTemplate="{StaticResource WishlistProduct}"
|
||||
Padding="5"
|
||||
SelectionMode="Extended"
|
||||
example:ListBoxDragDropBehavior.IsEnabled="True">
|
||||
<ListBox.Resources>
|
||||
<DataTemplate x:Key="DraggedItemTemplate">
|
||||
<StackPanel>
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<TextBlock Text="Dragging:" />
|
||||
<TextBlock FontWeight="Bold" Text="{Binding CurrentDraggedItem.Name}" />
|
||||
</StackPanel>
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<TextBlock MinWidth="45"
|
||||
FontWeight="Bold"
|
||||
Text="{Binding CurrentDropPosition}" />
|
||||
<TextBlock Foreground="Gray" Text=", (" />
|
||||
<TextBlock Text="{Binding CurrentDraggedOverItem.Name}" />
|
||||
<TextBlock Foreground="Gray" Text=")" />
|
||||
</StackPanel>
|
||||
</StackPanel>
|
||||
</DataTemplate>
|
||||
</ListBox.Resources>
|
||||
</ListBox>
|
||||
</Grid>
|
||||
</Window>
|
|
@ -1,124 +0,0 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.Linq;
|
||||
using System.Windows;
|
||||
using DragDropTreeViewToControls.ViewModels;
|
||||
using Telerik.Windows.DragDrop;
|
||||
using Telerik.Windows.Controls;
|
||||
|
||||
namespace DragDropTreeViewToControls
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaction logic for MainWindow.xaml
|
||||
/// </summary>
|
||||
public partial class MainWindow : Window
|
||||
{
|
||||
public MainWindow()
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
// Set the items source of the controls:
|
||||
allProductsView.ItemsSource = CategoryViewModel.Generate();
|
||||
|
||||
IList wishlistSource = new ObservableCollection<ProductViewModel>();
|
||||
foreach (ProductViewModel product in ProductViewModel.Generate(6))
|
||||
{
|
||||
wishlistSource.Add(product);
|
||||
}
|
||||
wishlistView.ItemsSource = wishlistSource;
|
||||
|
||||
DragDropManager.AddDragOverHandler(allProductsView, OnItemDragOver);
|
||||
DragDropManager.AddDropHandler(allProductsView, OnDrop);
|
||||
}
|
||||
|
||||
private void OnDrop(object sender, Telerik.Windows.DragDrop.DragEventArgs e)
|
||||
{
|
||||
var data = DragDropPayloadManager.GetDataFromObject(e.Data, "DraggedData");
|
||||
if (data == null) return;
|
||||
if (e.Effects != DragDropEffects.None)
|
||||
{
|
||||
var destinationItem = (e.OriginalSource as FrameworkElement).ParentOfType<RadTreeViewItem>();
|
||||
var dropDetails = DragDropPayloadManager.GetDataFromObject(e.Data, "DropDetails") as DropIndicationDetails;
|
||||
|
||||
if (destinationItems != null)
|
||||
{
|
||||
int dropIndex = dropDetails.DropIndex >= destinationItems.Count ? destinationItems.Count : dropDetails.DropIndex < 0 ? 0 : dropDetails.DropIndex;
|
||||
this.destinationItems.Insert(dropIndex, data);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
IList destinationItems = null;
|
||||
private void OnItemDragOver(object sender, Telerik.Windows.DragDrop.DragEventArgs e)
|
||||
{
|
||||
var item = (e.OriginalSource as FrameworkElement).ParentOfType<RadTreeViewItem>();
|
||||
if (item == null)
|
||||
{
|
||||
e.Effects = DragDropEffects.None;
|
||||
e.Handled = true;
|
||||
return;
|
||||
}
|
||||
var position = GetPosition(item, e.GetPosition(item));
|
||||
if (item.Level == 0 && position != DropPosition.Inside)
|
||||
{
|
||||
e.Effects = DragDropEffects.None;
|
||||
e.Handled = true;
|
||||
return;
|
||||
}
|
||||
RadTreeView tree = sender as RadTreeView;
|
||||
var draggedData = DragDropPayloadManager.GetDataFromObject(e.Data, "DraggedData");
|
||||
var dropDetails = DragDropPayloadManager.GetDataFromObject(e.Data, "DropDetails") as DropIndicationDetails;
|
||||
|
||||
if ((draggedData == null && dropDetails == null))
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (position != DropPosition.Inside)
|
||||
{
|
||||
e.Effects = DragDropEffects.All;
|
||||
|
||||
destinationItems = item.Level > 0 ? (IList)item.ParentItem.ItemsSource : (IList)tree.ItemsSource;
|
||||
int index = destinationItems.IndexOf(item.Item);
|
||||
dropDetails.DropIndex = position == DropPosition.Before ? index : index + 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
destinationItems = (IList)item.ItemsSource;
|
||||
int index = 0;
|
||||
|
||||
if (destinationItems == null)
|
||||
{
|
||||
e.Effects = DragDropEffects.None;
|
||||
}
|
||||
else
|
||||
{
|
||||
e.Effects = DragDropEffects.All;
|
||||
dropDetails.DropIndex = index;
|
||||
}
|
||||
}
|
||||
|
||||
dropDetails.CurrentDraggedOverItem = item.Item;
|
||||
dropDetails.CurrentDropPosition = position;
|
||||
|
||||
e.Handled = true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
private DropPosition GetPosition(RadTreeViewItem item, Point point)
|
||||
{
|
||||
double treeViewItemHeight = 24;
|
||||
if (point.Y < treeViewItemHeight / 4)
|
||||
{
|
||||
return DropPosition.Before;
|
||||
}
|
||||
else if (point.Y > treeViewItemHeight * 3 / 4)
|
||||
{
|
||||
return DropPosition.After;
|
||||
}
|
||||
|
||||
return DropPosition.Inside;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
<Deployment xmlns="http://schemas.microsoft.com/client/2007/deployment"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
>
|
||||
<Deployment.Parts>
|
||||
</Deployment.Parts>
|
||||
</Deployment>
|
|
@ -1,55 +0,0 @@
|
|||
using System.Reflection;
|
||||
using System.Resources;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Windows;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("DragDropTreeViewToControls_WPF")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("Microsoft")]
|
||||
[assembly: AssemblyProduct("DragDropTreeViewToControls_WPF")]
|
||||
[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)]
|
||||
|
||||
//In order to begin building localizable applications, set
|
||||
//<UICulture>CultureYouAreCodingWith</UICulture> in your .csproj file
|
||||
//inside a <PropertyGroup>. For example, if you are using US english
|
||||
//in your source files, set the <UICulture> to en-US. Then uncomment
|
||||
//the NeutralResourceLanguage attribute below. Update the "en-US" in
|
||||
//the line below to match the UICulture setting in the project file.
|
||||
|
||||
//[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
|
||||
|
||||
#if WPF
|
||||
[assembly: ThemeInfo(
|
||||
ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
|
||||
//(used if a resource is not found in the page,
|
||||
// or application resource dictionaries)
|
||||
ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
|
||||
//(used if a resource is not found in the page,
|
||||
// app, or any theme specific resource dictionaries)
|
||||
)]
|
||||
#endif
|
||||
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
|
@ -1,63 +0,0 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.17929
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace DragDropTreeViewToControls.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("DragDropTreeViewToControls.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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,117 +0,0 @@
|
|||
<?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>
|
|
@ -1,26 +0,0 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.17929
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace DragDropTreeViewToControls.Properties {
|
||||
|
||||
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<SettingsFile xmlns="uri:settings" CurrentProfile="(Default)">
|
||||
<Profiles>
|
||||
<Profile Name="(Default)" />
|
||||
</Profiles>
|
||||
<Settings />
|
||||
</SettingsFile>
|
|
@ -1,82 +0,0 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.Linq;
|
||||
|
||||
namespace DragDropTreeViewToControls.ViewModels
|
||||
{
|
||||
public class CategoryViewModel
|
||||
{
|
||||
private string _title;
|
||||
private IList _items;
|
||||
|
||||
public static IList Generate()
|
||||
{
|
||||
CategoryViewModel latest = new CategoryViewModel();
|
||||
latest.Name = "Latest Additions";
|
||||
foreach (ProductViewModel item in ProductViewModel.Generate(4))
|
||||
{
|
||||
latest.Items.Add(item);
|
||||
}
|
||||
|
||||
CategoryViewModel highestRated = new CategoryViewModel();
|
||||
highestRated.Name = "Highest Rated";
|
||||
foreach (ProductViewModel item in ProductViewModel.Generate(5))
|
||||
{
|
||||
highestRated.Items.Add(item);
|
||||
}
|
||||
|
||||
CategoryViewModel onSale = new CategoryViewModel();
|
||||
onSale.Name = "On Sale";
|
||||
foreach (ProductViewModel item in ProductViewModel.Generate(6))
|
||||
{
|
||||
onSale.Items.Add(item);
|
||||
}
|
||||
|
||||
CategoryViewModel value = new CategoryViewModel();
|
||||
value.Name = "Instant Deal";
|
||||
value.Items.Add(onSale);
|
||||
foreach (ProductViewModel item in ProductViewModel.Generate(3))
|
||||
{
|
||||
value.Items.Add(item);
|
||||
}
|
||||
|
||||
ObservableCollection<object> result = new ObservableCollection<object>();
|
||||
|
||||
result.Add(latest);
|
||||
result.Add(highestRated);
|
||||
result.Add(value);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
public CategoryViewModel()
|
||||
{
|
||||
Items = new ObservableCollection<object>();
|
||||
}
|
||||
|
||||
public string Name
|
||||
{
|
||||
get
|
||||
{
|
||||
return this._title;
|
||||
}
|
||||
set
|
||||
{
|
||||
this._title = value;
|
||||
}
|
||||
}
|
||||
public IList Items
|
||||
{
|
||||
get
|
||||
{
|
||||
return _items;
|
||||
}
|
||||
set
|
||||
{
|
||||
this._items = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -1,63 +0,0 @@
|
|||
using System;
|
||||
using System.Linq;
|
||||
using Telerik.Windows.Controls;
|
||||
|
||||
namespace DragDropTreeViewToControls.ViewModels
|
||||
{
|
||||
public class DropIndicationDetails : ViewModelBase
|
||||
{
|
||||
private object currentDraggedItem;
|
||||
private DropPosition currentDropPosition;
|
||||
private object currentDraggedOverItem;
|
||||
|
||||
public object CurrentDraggedOverItem
|
||||
{
|
||||
get
|
||||
{
|
||||
return currentDraggedOverItem;
|
||||
}
|
||||
set
|
||||
{
|
||||
if (this.currentDraggedOverItem != value)
|
||||
{
|
||||
currentDraggedOverItem = value;
|
||||
OnPropertyChanged("CurrentDraggedOverItem");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public int DropIndex { get; set; }
|
||||
|
||||
public DropPosition CurrentDropPosition
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.currentDropPosition;
|
||||
}
|
||||
set
|
||||
{
|
||||
if (this.currentDropPosition != value)
|
||||
{
|
||||
this.currentDropPosition = value;
|
||||
OnPropertyChanged("CurrentDropPosition");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public object CurrentDraggedItem
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.currentDraggedItem;
|
||||
}
|
||||
set
|
||||
{
|
||||
if (this.currentDraggedItem != value)
|
||||
{
|
||||
this.currentDraggedItem = value;
|
||||
OnPropertyChanged("CurrentDraggedItem");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,52 +0,0 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
namespace DragDropTreeViewToControls.ViewModels
|
||||
{
|
||||
public class ProductViewModel
|
||||
{
|
||||
// Data generation.
|
||||
private string _name;
|
||||
private string _description;
|
||||
private decimal _unitPrice;
|
||||
|
||||
private static readonly Random generator = new Random(1676545846);
|
||||
private static readonly string[] adjectives = "Fabulous,Amazing,New,Classic,Modern,Durable,Outstanding,Excellent,Premium".Split(',');
|
||||
private static readonly string[] owner = "Alaska,Jonhn,Ray,Ruby,Stone,Lilly,Scott,Barney,Dorian,Neo,Sarah".Split(',');
|
||||
private static readonly string[] objects = "Pen,Manual,Bicycle,Umbrella,Mouse,Vase,Keyboard".Split(',');
|
||||
private static readonly decimal[] prices = { 12.99M, 13.15M, 24.99M, 33.99M, 9.99M, 15.99M, 16.99M, 12.50M };
|
||||
|
||||
public static IEnumerable<ProductViewModel> Generate(int count)
|
||||
{
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
string product = objects[generator.Next(objects.Length)];
|
||||
ProductViewModel result = new ProductViewModel();
|
||||
result.Name = String.Format("{0}'s {1} {2}",
|
||||
owner[generator.Next(owner.Length)],
|
||||
adjectives[generator.Next(adjectives.Length)],
|
||||
product);
|
||||
result.UnitPrice = prices[generator.Next(prices.Length)];
|
||||
result.Description = String.Format("Exquisite handcrafted {0}.", product.ToLower());
|
||||
yield return result;
|
||||
}
|
||||
}
|
||||
|
||||
public string Name
|
||||
{
|
||||
get { return this._name; }
|
||||
set { this._name = value; }
|
||||
}
|
||||
public string Description
|
||||
{
|
||||
get { return this._description; }
|
||||
set { this._description = value; }
|
||||
}
|
||||
public decimal UnitPrice
|
||||
{
|
||||
get { return this._unitPrice; }
|
||||
set { this._unitPrice = value; }
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1 +0,0 @@
|
|||
This example demonstrates how to implement drag and drop between a RadTreeView and a ListBox, using the RadTreeView built-in DragDrop functionality.
|
|
@ -1,6 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<configuration>
|
||||
<startup>
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
|
||||
</startup>
|
||||
</configuration>
|
|
@ -1,8 +0,0 @@
|
|||
<Application x:Class="EnableOnlyDropInsideItem.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>
|
|
@ -1,8 +0,0 @@
|
|||
<Application xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
x:Class="EnableOnlyDropInsideItem_SL.AppSL"
|
||||
>
|
||||
<Application.Resources>
|
||||
|
||||
</Application.Resources>
|
||||
</Application>
|
|
@ -1,68 +0,0 @@
|
|||
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 EnableOnlyDropInsideItem_SL
|
||||
{
|
||||
public partial class AppSL : Application
|
||||
{
|
||||
|
||||
public AppSL()
|
||||
{
|
||||
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)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,120 +0,0 @@
|
|||
<?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>{088A8466-ACCF-4780-8742-7F7DC2421BBC}</ProjectGuid>
|
||||
<ProjectTypeGuids>{A1591282-1198-4647-A2B1-27E5FF5F6F3B};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>EnableOnlyDropInsideItem_SL</RootNamespace>
|
||||
<AssemblyName>EnableOnlyDropInsideItem_SL</AssemblyName>
|
||||
<TargetFrameworkIdentifier>Silverlight</TargetFrameworkIdentifier>
|
||||
<TargetFrameworkVersion>v5.0</TargetFrameworkVersion>
|
||||
<SilverlightVersion>$(TargetFrameworkVersion)</SilverlightVersion>
|
||||
<SilverlightApplication>true</SilverlightApplication>
|
||||
<SupportedCultures>
|
||||
</SupportedCultures>
|
||||
<XapOutputs>true</XapOutputs>
|
||||
<GenerateSilverlightManifest>true</GenerateSilverlightManifest>
|
||||
<XapFilename>EnableOnlyDropInsideItem_SL.xap</XapFilename>
|
||||
<SilverlightManifestTemplate>Properties\AppManifest.xml</SilverlightManifestTemplate>
|
||||
<SilverlightAppEntry>EnableOnlyDropInsideItem_SL.AppSL</SilverlightAppEntry>
|
||||
<TestPageFileName>EnableOnlyDropInsideItem_SLTestPage.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" />
|
||||
<Reference Include="Telerik.Windows.Controls.Navigation" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="App_SL.xaml.cs">
|
||||
<DependentUpon>App_SL.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="MainPage.xaml.cs">
|
||||
<DependentUpon>MainPage.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="ViewModels\Division.cs" />
|
||||
<Compile Include="ViewModels\League.cs" />
|
||||
<Compile Include="ViewModels\RadTreeViewSampleData.cs" />
|
||||
<Compile Include="ViewModels\Team.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>
|
|
@ -1,37 +0,0 @@
|
|||
<UserControl x:Class="EnableOnlyDropInsideItem_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:sampleData="clr-namespace:EnableOnlyDropInsideItem.ViewModels"
|
||||
xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"
|
||||
d:DesignHeight="300"
|
||||
d:DesignWidth="400"
|
||||
mc:Ignorable="d">
|
||||
<Grid>
|
||||
<Grid.Resources>
|
||||
<sampleData:RadTreeViewSampleData x:Key="DataSource" />
|
||||
|
||||
<DataTemplate x:Key="Team">
|
||||
<TextBlock Text="{Binding Name}" />
|
||||
</DataTemplate>
|
||||
<telerik:HierarchicalDataTemplate x:Key="Division"
|
||||
ItemTemplate="{StaticResource Team}"
|
||||
ItemsSource="{Binding Teams}">
|
||||
<TextBlock Text="{Binding Name}" />
|
||||
</telerik:HierarchicalDataTemplate>
|
||||
<telerik:HierarchicalDataTemplate x:Key="League"
|
||||
ItemTemplate="{StaticResource Division}"
|
||||
ItemsSource="{Binding Divisions}">
|
||||
<TextBlock Text="{Binding Name}" />
|
||||
</telerik:HierarchicalDataTemplate>
|
||||
</Grid.Resources>
|
||||
<telerik:RadTreeView x:Name="xTreeView"
|
||||
Margin="8"
|
||||
IsDragDropEnabled="True"
|
||||
ItemTemplate="{StaticResource League}"
|
||||
ItemsSource="{Binding Source={StaticResource DataSource},
|
||||
Path=LeaguesDataSource}"
|
||||
telerik:TreeViewSettings.DragDropExecutionMode="New" />
|
||||
</Grid>
|
||||
</UserControl>
|
|
@ -1,27 +0,0 @@
|
|||
using System;
|
||||
using System.Linq;
|
||||
using System.Windows.Controls;
|
||||
using Telerik.Windows.Controls.TreeView;
|
||||
using Telerik.Windows.DragDrop;
|
||||
|
||||
namespace EnableOnlyDropInsideItem_SL
|
||||
{
|
||||
public partial class MainPage : UserControl
|
||||
{
|
||||
public MainPage()
|
||||
{
|
||||
InitializeComponent();
|
||||
DragDropManager.AddDragOverHandler(xTreeView, OnDragOver, true);
|
||||
}
|
||||
|
||||
private void OnDragOver(object sender, Telerik.Windows.DragDrop.DragEventArgs e)
|
||||
{
|
||||
var options = DragDropPayloadManager.GetDataFromObject(e.Data, TreeViewDragDropOptions.Key) as TreeViewDragDropOptions;
|
||||
if (options.DropPosition != Telerik.Windows.Controls.DropPosition.Inside)
|
||||
{
|
||||
options.DropPosition = Telerik.Windows.Controls.DropPosition.Inside;
|
||||
options.UpdateDragVisual();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,35 +0,0 @@
|
|||
<Window x:Class="EnableOnlyDropInsideItem.MainWindow"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:sampleData="clr-namespace:EnableOnlyDropInsideItem.ViewModels"
|
||||
xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"
|
||||
Title="MainWindow"
|
||||
Width="525"
|
||||
Height="350">
|
||||
<Grid>
|
||||
<Grid.Resources>
|
||||
<sampleData:RadTreeViewSampleData x:Key="DataSource" />
|
||||
|
||||
<DataTemplate x:Key="Team">
|
||||
<TextBlock Text="{Binding Name}" />
|
||||
</DataTemplate>
|
||||
<HierarchicalDataTemplate x:Key="Division"
|
||||
ItemTemplate="{StaticResource Team}"
|
||||
ItemsSource="{Binding Teams}">
|
||||
<TextBlock Text="{Binding Name}" />
|
||||
</HierarchicalDataTemplate>
|
||||
<HierarchicalDataTemplate x:Key="League"
|
||||
ItemTemplate="{StaticResource Division}"
|
||||
ItemsSource="{Binding Divisions}">
|
||||
<TextBlock Text="{Binding Name}" />
|
||||
</HierarchicalDataTemplate>
|
||||
</Grid.Resources>
|
||||
<telerik:RadTreeView x:Name="xTreeView"
|
||||
Margin="8"
|
||||
IsDragDropEnabled="True"
|
||||
ItemTemplate="{StaticResource League}"
|
||||
ItemsSource="{Binding Source={StaticResource DataSource},
|
||||
Path=LeaguesDataSource}"
|
||||
telerik:TreeViewSettings.DragDropExecutionMode="New" />
|
||||
</Grid>
|
||||
</Window>
|
|
@ -1,41 +0,0 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Data;
|
||||
using System.Windows.Documents;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Imaging;
|
||||
using System.Windows.Navigation;
|
||||
using System.Windows.Shapes;
|
||||
using Telerik.Windows.Controls.TreeView;
|
||||
using Telerik.Windows.DragDrop;
|
||||
|
||||
namespace EnableOnlyDropInsideItem
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaction logic for MainWindow.xaml
|
||||
/// </summary>
|
||||
public partial class MainWindow : Window
|
||||
{
|
||||
public MainWindow()
|
||||
{
|
||||
InitializeComponent();
|
||||
DragDropManager.AddDragOverHandler(xTreeView, OnDragOver,true);
|
||||
}
|
||||
|
||||
private void OnDragOver(object sender, Telerik.Windows.DragDrop.DragEventArgs e)
|
||||
{
|
||||
var options = DragDropPayloadManager.GetDataFromObject(e.Data, TreeViewDragDropOptions.Key) as TreeViewDragDropOptions;
|
||||
if (options.DropPosition != Telerik.Windows.Controls.DropPosition.Inside)
|
||||
{
|
||||
options.DropPosition = Telerik.Windows.Controls.DropPosition.Inside;
|
||||
options.UpdateDragVisual();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
<Deployment xmlns="http://schemas.microsoft.com/client/2007/deployment"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
>
|
||||
<Deployment.Parts>
|
||||
</Deployment.Parts>
|
||||
</Deployment>
|
|
@ -1,55 +0,0 @@
|
|||
using System.Reflection;
|
||||
using System.Resources;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Windows;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("EnableOnlyDropInsideItem_WPF")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("Microsoft")]
|
||||
[assembly: AssemblyProduct("EnableOnlyDropInsideItem_WPF")]
|
||||
[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)]
|
||||
|
||||
//In order to begin building localizable applications, set
|
||||
//<UICulture>CultureYouAreCodingWith</UICulture> in your .csproj file
|
||||
//inside a <PropertyGroup>. For example, if you are using US english
|
||||
//in your source files, set the <UICulture> to en-US. Then uncomment
|
||||
//the NeutralResourceLanguage attribute below. Update the "en-US" in
|
||||
//the line below to match the UICulture setting in the project file.
|
||||
|
||||
//[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
|
||||
|
||||
#if WPF
|
||||
[assembly: ThemeInfo(
|
||||
ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
|
||||
//(used if a resource is not found in the page,
|
||||
// or application resource dictionaries)
|
||||
ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
|
||||
//(used if a resource is not found in the page,
|
||||
// app, or any theme specific resource dictionaries)
|
||||
)]
|
||||
#endif
|
||||
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
|
@ -1,63 +0,0 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.17929
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace EnableOnlyDropInsideItem.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("EnableOnlyDropInsideItem.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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,117 +0,0 @@
|
|||
<?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>
|
|
@ -1,26 +0,0 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.17929
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace EnableOnlyDropInsideItem.Properties {
|
||||
|
||||
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<SettingsFile xmlns="uri:settings" CurrentProfile="(Default)">
|
||||
<Profiles>
|
||||
<Profile Name="(Default)" />
|
||||
</Profiles>
|
||||
<Settings />
|
||||
</SettingsFile>
|
|
@ -1,25 +0,0 @@
|
|||
using System;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.Linq;
|
||||
|
||||
namespace EnableOnlyDropInsideItem.ViewModels
|
||||
{
|
||||
public class Division
|
||||
{
|
||||
public Division(string name)
|
||||
{
|
||||
this.Name = name;
|
||||
this.Teams = new ObservableCollection<Team>();
|
||||
}
|
||||
public string Name
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
public ObservableCollection<Team> Teams
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,25 +0,0 @@
|
|||
using System;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.Linq;
|
||||
|
||||
namespace EnableOnlyDropInsideItem.ViewModels
|
||||
{
|
||||
public class League
|
||||
{
|
||||
public League(string name)
|
||||
{
|
||||
this.Name = name;
|
||||
this.Divisions = new ObservableCollection<Division>();
|
||||
}
|
||||
public string Name
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
public ObservableCollection<Division> Divisions
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,61 +0,0 @@
|
|||
using System;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.Linq;
|
||||
|
||||
namespace EnableOnlyDropInsideItem.ViewModels
|
||||
{
|
||||
public class RadTreeViewSampleData
|
||||
{
|
||||
public RadTreeViewSampleData()
|
||||
{
|
||||
this.InitializeLeaguesDataSource();
|
||||
}
|
||||
public ObservableCollection<League> LeaguesDataSource
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
private void InitializeLeaguesDataSource()
|
||||
{
|
||||
this.LeaguesDataSource = new ObservableCollection<League>();
|
||||
League l;
|
||||
Division d;
|
||||
this.LeaguesDataSource.Add(l = new League("League A"));
|
||||
l.Divisions.Add((d = new Division("Division A")));
|
||||
d.Teams.Add(new Team("Team I"));
|
||||
d.Teams.Add(new Team("Team II"));
|
||||
d.Teams.Add(new Team("Team III"));
|
||||
d.Teams.Add(new Team("Team IV"));
|
||||
d.Teams.Add(new Team("Team V"));
|
||||
l.Divisions.Add((d = new Division("Division B")));
|
||||
d.Teams.Add(new Team("Team Blue"));
|
||||
d.Teams.Add(new Team("Team Red"));
|
||||
d.Teams.Add(new Team("Team Yellow"));
|
||||
d.Teams.Add(new Team("Team Green"));
|
||||
d.Teams.Add(new Team("Team Orange"));
|
||||
l.Divisions.Add((d = new Division("Division C")));
|
||||
d.Teams.Add(new Team("Team East"));
|
||||
d.Teams.Add(new Team("Team West"));
|
||||
d.Teams.Add(new Team("Team North"));
|
||||
d.Teams.Add(new Team("Team South"));
|
||||
this.LeaguesDataSource.Add(l = new League("League B"));
|
||||
l.Divisions.Add((d = new Division("Division A")));
|
||||
d.Teams.Add(new Team("Team 1"));
|
||||
d.Teams.Add(new Team("Team 2"));
|
||||
d.Teams.Add(new Team("Team 3"));
|
||||
d.Teams.Add(new Team("Team 4"));
|
||||
d.Teams.Add(new Team("Team 5"));
|
||||
l.Divisions.Add((d = new Division("Division B")));
|
||||
d.Teams.Add(new Team("Team Diamond"));
|
||||
d.Teams.Add(new Team("Team Heart"));
|
||||
d.Teams.Add(new Team("Team Club"));
|
||||
d.Teams.Add(new Team("Team Spade"));
|
||||
l.Divisions.Add((d = new Division("Division C")));
|
||||
d.Teams.Add(new Team("Team Alpha"));
|
||||
d.Teams.Add(new Team("Team Beta"));
|
||||
d.Teams.Add(new Team("Team Gamma"));
|
||||
d.Teams.Add(new Team("Team Delta"));
|
||||
d.Teams.Add(new Team("Team Epsilon"));
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,18 +0,0 @@
|
|||
using System;
|
||||
using System.Linq;
|
||||
|
||||
namespace EnableOnlyDropInsideItem.ViewModels
|
||||
{
|
||||
public class Team
|
||||
{
|
||||
public Team(string name)
|
||||
{
|
||||
this.Name = name;
|
||||
}
|
||||
public string Name
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1 +0,0 @@
|
|||
This example demonstrates how to enable dropping inside the RadTreeViewItems, but not around them.
|
|
@ -1,8 +1,8 @@
|
|||
<Application x:Class="ContextMenu.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="RestrictedToParent.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>
|
|
@ -1,17 +1,16 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Configuration;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows;
|
||||
|
||||
namespace EnableOnlyDropInsideItem
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaction logic for App.xaml
|
||||
/// </summary>
|
||||
public partial class App : Application
|
||||
{
|
||||
}
|
||||
}
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Configuration;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using System.Windows;
|
||||
|
||||
namespace RestrictedToParent
|
||||
{
|
||||
/// <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="ContextMenu.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="RestrictedToParent.App"
|
||||
>
|
||||
<Application.Resources>
|
||||
|
||||
</Application.Resources>
|
||||
</Application>
|
|
@ -1,68 +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 DragDropTreeViewToControls_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)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
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 RestrictedToParent
|
||||
{
|
||||
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,12 @@
|
|||
<UserControl x:Class="RestrictedToParent.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"
|
||||
mc:Ignorable="d"
|
||||
d:DesignHeight="300" d:DesignWidth="400">
|
||||
|
||||
<Grid x:Name="LayoutRoot" Background="White">
|
||||
<Button Content="Open MyRadWindow" Click="Button_Click_1" VerticalAlignment="Center" HorizontalAlignment="Center"/>
|
||||
</Grid>
|
||||
</UserControl>
|
|
@ -0,0 +1,30 @@
|
|||
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 RestrictedToParent
|
||||
{
|
||||
public partial class MainPage : UserControl
|
||||
{
|
||||
private MyRadWindow MyRadWindow { get; set; }
|
||||
|
||||
public MainPage()
|
||||
{
|
||||
InitializeComponent();
|
||||
this.MyRadWindow = new MyRadWindow();
|
||||
}
|
||||
|
||||
private void Button_Click_1(object sender, RoutedEventArgs e)
|
||||
{
|
||||
this.MyRadWindow.Show();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,10 @@
|
|||
<Window x:Class="RestrictedToParent.MainWindow"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
SizeChanged="Window_SizeChanged_1"
|
||||
LocationChanged="Window_LocationChanged_1"
|
||||
Title="MainWindow" Height="350" Width="525">
|
||||
<Grid>
|
||||
<Button Content="Open MyRadWindow" Click="Button_Click_1" VerticalAlignment="Center" HorizontalAlignment="Center"/>
|
||||
</Grid>
|
||||
</Window>
|
|
@ -0,0 +1,72 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Data;
|
||||
using System.Windows.Documents;
|
||||
using System.Windows.Forms;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Imaging;
|
||||
using System.Windows.Navigation;
|
||||
using System.Windows.Shapes;
|
||||
|
||||
namespace RestrictedToParent
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaction logic for MainWindow.xaml
|
||||
/// </summary>
|
||||
public partial class MainWindow : Window
|
||||
{
|
||||
private MyRadWindow MyRadWindow { get; set; }
|
||||
|
||||
public MainWindow()
|
||||
{
|
||||
InitializeComponent();
|
||||
this.MyRadWindow = new MyRadWindow();
|
||||
this.MyRadWindow.Owner = this;
|
||||
}
|
||||
|
||||
private void Button_Click_1(object sender, RoutedEventArgs e)
|
||||
{
|
||||
this.MyRadWindow.Show();
|
||||
}
|
||||
|
||||
private void Window_SizeChanged_1(object sender, SizeChangedEventArgs e)
|
||||
{
|
||||
var primaryScreenWidth = System.Windows.SystemParameters.PrimaryScreenWidth;
|
||||
var primaryScreenHeight = System.Windows.SystemParameters.PrimaryScreenHeight;
|
||||
var window = sender as Window;
|
||||
double rightMargin = primaryScreenWidth - (window.Left + window.Width);
|
||||
double bottomMargin = primaryScreenHeight - (window.Top + window.Height);
|
||||
|
||||
if (window != null)
|
||||
{
|
||||
this.MyRadWindow.RestrictedAreaMargin = new Thickness(window.Left, window.Top, rightMargin, bottomMargin);
|
||||
}
|
||||
}
|
||||
|
||||
private void Window_LocationChanged_1(object sender, EventArgs e)
|
||||
{
|
||||
Screen[] screensArray = Screen.AllScreens;
|
||||
List<Screen> screensList = screensArray.OfType<Screen>().ToList();
|
||||
var primaryScreenWidth = System.Windows.SystemParameters.PrimaryScreenWidth;
|
||||
if (screensList.Count > 0)
|
||||
{
|
||||
primaryScreenWidth = System.Windows.SystemParameters.PrimaryScreenWidth * 2;
|
||||
}
|
||||
|
||||
var primaryScreenHeight = System.Windows.SystemParameters.PrimaryScreenHeight;
|
||||
var window = sender as Window;
|
||||
double rightMargin = primaryScreenWidth - (window.Left + window.Width);
|
||||
double bottomMargin = primaryScreenHeight - (window.Top + window.Height);
|
||||
|
||||
if (window != null)
|
||||
{
|
||||
this.MyRadWindow.RestrictedAreaMargin = new Thickness(window.Left, window.Top, rightMargin, bottomMargin);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
<telerik:RadWindow x:Class="RestrictedToParent.MyRadWindow"
|
||||
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"
|
||||
IsRestricted="True"
|
||||
IsTopmost="True"
|
||||
mc:Ignorable="d"
|
||||
x:Name="Window"
|
||||
d:DesignHeight="300" d:DesignWidth="400">
|
||||
|
||||
<StackPanel>
|
||||
<TextBlock Text="RadWindow with:"
|
||||
FontWeight="Bold"
|
||||
Margin="10 10 10 0"/>
|
||||
<TextBlock Text="{Binding ElementName=Window, Path=IsRestricted, StringFormat='IsRestricted = {0}'}"
|
||||
Margin="10 10 10 0"/>
|
||||
<TextBlock Text="{Binding ElementName=Window, Path=IsTopmost, StringFormat='IsTopmost = {0}'}"
|
||||
Margin="10 10 10 10"/>
|
||||
</StackPanel>
|
||||
</telerik:RadWindow>
|
|
@ -0,0 +1,12 @@
|
|||
using Telerik.Windows.Controls;
|
||||
|
||||
namespace RestrictedToParent
|
||||
{
|
||||
public partial class MyRadWindow : RadWindow
|
||||
{
|
||||
public MyRadWindow()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,6 +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>
|
||||
<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("ContextMenu")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("Microsoft")]
|
||||
[assembly: AssemblyProduct("ContextMenu")]
|
||||
[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("83a951dc-e1e1-4f63-b95c-421416257401")]
|
||||
|
||||
// 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("RestrictedToParent")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("RestrictedToParent")]
|
||||
[assembly: AssemblyCopyright("Copyright © 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("882636a9-f230-4736-83be-23a1caf22b74")]
|
||||
|
||||
// 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")]
|
|
@ -1,71 +1,71 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.17929
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace DenyDropVisualFeedback_WPF.Properties
|
||||
{
|
||||
|
||||
|
||||
/// <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 ((resourceMan == null))
|
||||
{
|
||||
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("DenyDropVisualFeedback_WPF.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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.18010
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace RestrictedToParent.Properties
|
||||
{
|
||||
|
||||
|
||||
/// <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 ((resourceMan == null))
|
||||
{
|
||||
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("RestrictedToParent.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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,117 +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>
|
||||
<?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>
|
|
@ -1,30 +1,30 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.17929
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace DenyDropVisualFeedback_WPF.Properties
|
||||
{
|
||||
|
||||
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.18010
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace RestrictedToParent.Properties
|
||||
{
|
||||
|
||||
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,7 +1,7 @@
|
|||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<SettingsFile xmlns="uri:settings" CurrentProfile="(Default)">
|
||||
<Profiles>
|
||||
<Profile Name="(Default)" />
|
||||
</Profiles>
|
||||
<Settings />
|
||||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<SettingsFile xmlns="uri:settings" CurrentProfile="(Default)">
|
||||
<Profiles>
|
||||
<Profile Name="(Default)" />
|
||||
</Profiles>
|
||||
<Settings />
|
||||
</SettingsFile>
|
Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше
Загрузка…
Ссылка в новой задаче