
рд╡рд┐рдВрдбреЛрдЬ 8 рдХреА рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд░рд┐рд▓реАрдЬ рд╣рд░ рджрд┐рди рдЖ рд░рд╣реА рд╣реИ, рдФрд░ рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдореЗрдЯреНрд░реЛ рд╕реНрдЯрд╛рдЗрд▓ рдРрдк рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪ рд░рд╣реЗ рд╣реИрдВред рдФрд░ рдпрджрд┐ рдЖрдк рдПрдХ рд╕рд╛рде рдХрдИ рдРрд╕реЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рд╡рд┐рднрд┐рдиреНрди рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдПрдХ рд╣реА рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рдпрд╣ рд▓реЗрдЦ рдПрдХ рд╕рд░рд▓ рдореЗрдЯреНрд░реЛ рд╢реИрд▓реА рдШрдЯрдХ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЪрд░рдг-рджрд░-рдЪрд░рдг рдирд┐рд░реНрджреЗрд╢ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА WinRT рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдЖрдЧреЗ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдЗрд╕ рддрд░рд╣ рдХреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЛ рдкрдВрдЬреАрдХреГрдд рдХрд░рдиреЗ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред
рдПрдХ рдШрдЯрдХ рдХреЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, рд╣рдордиреЗ рдореЗрдЯреНрд░реЛ-рд╢реИрд▓реА рдХреЗ рдПрдирд┐рдореЗрдЯреЗрдб рдбрд╛рдЙрдирд▓реЛрдб рд╕рдВрдХреЗрддрдХ рдХреЛ рдЪреБрдирд╛, рдЙрд╕реА рдХреЗ рд╕рдорд╛рди рдЬрд┐рд╕реЗ рд╣рдо рдореЗрдВ рд╕реЗ рдХрдИ рдиреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рджреЗрдЦрд╛ рд╣реИред рдЗрд╕ рд▓реЗрдЦ рдХреЗ рдЕрдВрдд рддрдХ, рдЖрдк рди рдХреЗрд╡рд▓ рдШрдЯрдХ рдкрдВрдЬреАрдХрд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдм рдХреБрдЫ рдЬрд╛рди рдкрд╛рдПрдВрдЧреЗ, рдмрд▓реНрдХрд┐ рдЕрдкрдиреЗ рдореЗрдЯреНрд░реЛ рдЖрд╡реЗрджрди рдХреЗ рд▓рд┐рдП рдПрдХ рддреИрдпрд╛рд░-рдХрд┐рдП рдЧрдП рдбрд╛рдЙрдирд▓реЛрдб рд╕рдВрдХреЗрддрдХ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдореЗрдВ рднреА рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреЗред
рд╕рд┐рд╕реНрдЯрдо рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ
рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╡рд┐рдВрдбреЛрдЬ 8 рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рдкрд╣рд▓рд╛ рдХрд╛рд░реНрдпрдХреНрд░рдо рд▓рд┐рдЦрдиреЗ рдХрд╛ рд╕рдордп рдирд╣реАрдВ рд╣реИ, рддреЛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХреЗ рд╡рд┐рдХрд╛рд╕ рдХрд╛ рд╡рд╛рддрд╛рд╡рд░рдг рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рддрд╛ рд╣реИ:
- рд╡рд┐рдХрд╛рд╕ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рд╡рд┐рдВрдбреЛрдЬ 8 рдореЗрдВ рдЖрдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП ред рдЗрд╕ рд▓реЗрдЦрди рдХреЗ рд╕рдордп, рд╡рд┐рдВрдбреЛрдЬ 8 рд░рд┐рд▓реАрдЬ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдЪрд░рдг рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИ рдФрд░ рдпрд╣рд╛рдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
http://windows.microsoft.com/ru-RU/windows-8/download
- рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ 2012 рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд╡рд╛рддрд╛рд╡рд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА , рдЬреЛ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд░рд┐рд▓реАрдЬрд╝ рдХреИрдВрдбрд┐рдбреЗрдЯ рдЪрд░рдг рдореЗрдВ рд╣реИ рдФрд░ http://www.microsoft.com/visualstudio/11/en-us/downloads рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реИред
рдпрджрд┐ рдЖрдк рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЗ рдкреЗрд╢реЗрд╡рд░ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде рд╣реИрдВ, рддреЛ рдЖрдк рд╣рдореЗрд╢рд╛ рд╡рд┐рдВрдбреЛрдЬ 8 рдХреЗ рд▓рд┐рдП рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдПрдХреНрд╕рдкреНрд░реЗрд╕ 2012 рдХреЛ рдореБрдлреНрдд рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ 2012 рдХреЗ рдкреЗрд╢реЗрд╡рд░ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд▓рд┐рдП рд╕рднреА рдЪрд░рдг рдкреНрд░рджрд╛рди рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗред
рдкреБрд╕реНрддрдХрд╛рд▓рдп рдирд┐рд░реНрдорд╛рдг
рдЗрд╕рд▓рд┐рдП, рд╣рдордиреЗ рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ 2012 рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдФрд░ рдЕрдкрдиреЗ рдкрд╣рд▓реЗ рдореЗрдЯреНрд░реЛ-рд╢реИрд▓реА рдШрдЯрдХ рдХреЛ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИрдВред
рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП,
рдХреНрд▓рд╛рд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдкреНрд░рдХрд╛рд░
(рдореЗрдЯреНрд░реЛ рд╢реИрд▓реА рдРрдкреНрд╕) рдХреА рдПрдХ рдирдИ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдмрдирд╛рдПрдВ рдФрд░ рдЗрд╕реЗ
MyCustomControls рдХрд╣реЗрдВ :

рдирддреАрдЬрддрди, рдПрдХ рд╡рд░реНрдЧ рдХреЗ рд╕рд╛рде рдПрдХ рдЦрд╛рд▓реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдмрдирд╛рдИ рдЬрд╛рдПрдЧреАред рдЪреВрдВрдХрд┐ рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЗрд╕ рд╡рд░реНрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЗ
Class1.cs рдлрд╝рд╛рдЗрд▓ рд╣рдЯрд╛рддреЗ рд╣реИрдВ:

рдлрд┐рд░ рд╣рдорд╛рд░реЗ рднрд╡рд┐рд╖реНрдп рдХреЗ рдШрдЯрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рд░рд┐рдХреНрдд рдЬреЛрдбрд╝реЗрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП,
рдирдпрд╛ рдЖрдЗрдЯрдо рдЬреЛрдбрд╝реЗрдВ рд╕рдВрд╡рд╛рдж рдореЗрдВ, рдПрдХ рдирдпрд╛ рдЯреЗрдореНрдкрд▓реЗрдЯ рдЪреБрдиреЗрдВ -
рдЕрд╕реНрдерд╛рдпреА рдирд┐рдпрдВрддреНрд░рдг - рдФрд░ рдЗрд╕реЗ рдирд╛рдо
рджреЗрдВ MyCustomer :

рдЗрди рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдмрд╛рдж, рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рджреЛ рдирдИ рдлрд╛рдЗрд▓реЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдВрдЧреА:
- MyCustomControl.cs , рд╣рдорд╛рд░реЗ рдШрдЯрдХ рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЛ рдирд┐рдпрдВрддреНрд░рдг рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдХреЗ рд░реВрдк рдореЗрдВ рдпреБрдХреНрдд рдХрд░рддрд╛ рд╣реИ:
namespace MyCustomControls { public sealed class MyCustomControl : Control { public MyCustomControl() { this.DefaultStyleKey = typeof(MyCustomControl); } } }
рдЗрд╕реЗ рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдХреЛрдб рд╕реЗ рдмрджрд▓реЗрдВ:
namespace MyCustomControls { public sealed class MyCustomControl : Control { const double radius = 30; public static readonly DependencyProperty DataProperty = DependencyProperty.Register("Data", typeof(Geometry), typeof(MyCustomControl), new PropertyMetadata(null)); public Geometry Data { get { return (Geometry)GetValue(DataProperty); } set { SetValue(DataProperty, value); } } DispatcherTimer timer; double progress = 0.0; Size arrangeSize = new Size(0, 0); DateTime lastTime = DateTime.Now; public MyCustomControl() { this.DefaultStyleKey = typeof(MyCustomControl); timer = new DispatcherTimer(); timer.Tick += timer_Tick; timer.Interval = TimeSpan.FromMilliseconds(5); timer.Start(); } void timer_Tick(object sender, object e) { DateTime time = DateTime.Now; progress += 0.5 * (time - lastTime).TotalSeconds; lastTime = time; if (progress > 1) progress -= 1; Data = CreateGeometry(progress); } double CalcAngle(double progress) { double factor = 0.5 * Math.Cos(Math.PI * progress - Math.PI) + 0.5; return 2 * Math.PI * factor; } double CalcDistance(double angle) { return 0.3 * (Math.PI - Math.Abs(Math.PI - angle)); } Geometry CreateGeometry(double progress) { double angle = CalcAngle(progress); double distance = CalcDistance(angle); GeometryGroup newGeometry = new GeometryGroup() { FillRule = FillRule.Nonzero }; for (int i = 3; i > -4; i--) { Point location = new Point(0.5 * arrangeSize.Width + radius * Math.Cos(angle + i * distance - Math.PI / 2), 0.5 * arrangeSize.Height + radius * Math.Sin(angle + i * distance - Math.PI / 2)); newGeometry.Children.Add(new EllipseGeometry() { Center = location, RadiusX = 5, RadiusY = 5 }); } return newGeometry; } protected override Size MeasureOverride(Size availableSize) { base.MeasureOverride(availableSize); return new Size(!double.IsInfinity(availableSize.Width) ? availableSize.Width : 0, !double.IsInfinity(availableSize.Height) ? availableSize.Height : 0); } protected override Size ArrangeOverride(Size arrangeBounds) { arrangeSize = arrangeBounds; return base.ArrangeOverride(arrangeBounds); } } }
- рдереАрдореНрд╕ \ Generic.xaml , рдЙрд╕ рд╢реИрд▓реА рдХрд╛ рд╡рд┐рд╡рд░рдг рдХрд╣рд╛рдВ рд╣реИ рдЬреЛ рд╣рдорд╛рд░реЗ рдирд┐рдпрдВрддреНрд░рдг рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдорд╛рд░реНрдХрдЕрдк рдореЗрдВ рдкрде рддрддреНрд╡ рдЬреЛрдбрд╝реЗрдВ:
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="using:MyCustomControls"> <Style TargetType="local:MyCustomControl"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="local:MyCustomControl"> <Border Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}"> <Path Fill="Aqua" Data="{Binding Path=Data, RelativeSource={RelativeSource TemplatedParent} }"/> </Border> </ControlTemplate> </Setter.Value> </Setter> </Style> </ResourceDictionary>
рдлрд┐рд░ рдЖрдк рд▓рд┐рдЦрд┐рдд рдШрдЯрдХ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХрд╛ рддреНрд╡рд░рд┐рдд рдкрд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП,
рдмреНрд▓реИрдВрдХ рдРрдк (XAML) рдкреНрд░рдХрд╛рд░ рдХреА рдПрдХ рдФрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЬреЛрдбрд╝реЗрдВ:

рдЕрдм рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реА
MyCustomControls рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдореЗрдВ рдПрдХ рд▓рд┐рдВрдХ (рдкреНрд░рдХрд╛рд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕рдВрджрд░реНрдн) рдЬреЛрдбрд╝реЗрдВ:

рдЕрдЧрд▓рд╛, рдЖрдкрдХреЛ рдиреАрдЪреЗ рджрд┐рдЦрд╛рдП рдЕрдиреБрд╕рд╛рд░
MainPage.xaml рдлрд╝рд╛рдЗрд▓ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдмрджрд▓рдиреЗ рдХреА
рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ :
<Page x:Class="App1.MainPage" IsTabStop="false" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="using:App1" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:my="using:MyCustomControls" mc:Ignorable="d"> <Grid Background="White"> <my:MyCustomControl /> </Grid> </Page>
рдлрд┐рд░ рд╣рдо рдПрдкреНрд▓рд┐рдХреЗрд╢рди 1 рд╢реБрд░реВ рдХрд░реЗрдВрдЧреЗ:

рдЕрдм рд╣рдо рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдореЗрдЯреНрд░реЛ-рд╢реИрд▓реА рд▓реЛрдбрд┐рдВрдЧ рд╕рдВрдХреЗрддрдХ рджреЗрдЦрддреЗ рд╣реИрдВ - рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рд╣рдорд╛рд░рд╛ рдШрдЯрдХ рдЪрд╛рд▓реВ рд╣реИ!

рдПрдХреНрд╕рдЯреЗрдВрд╢рди SDK рдмрдирд╛рдПрдВ
рдЕрдм рдЖрдк рд╕реАрдзреЗ рдЕрдкрдиреЗ рдЦреБрдж рдХреЗ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдПрд╕рдбреАрдХреЗ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдПрд╕рдбреАрдХреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рдХрдИ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдПрдХ рд╕реЗрдЯ рдореЗрдВ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдПрдХ рдмрд╛рд░ рдореЗрдВ рдкреВрд░реЗ рдПрд╕рдбреАрдХреЗ рдореЗрдВ рдПрдХ рд▓рд┐рдВрдХ рдЬреЛрдбрд╝рдХрд░ рдПрдХ рджреГрд╢реНрдп рд╕реНрдЯреВрдбрд┐рдпреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕реЗ рдЬреБрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЕрдкрдиреА рд╣рд╛рд░реНрдб рдбреНрд░рд╛рдЗрд╡ рдкрд░ рдирд┐рдореНрди рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕рдВрд░рдЪрдирд╛ рдмрдирд╛рдПрдВ, рдЬрд┐рд╕рдореЗрдВ рд╡рд╣ рд╕рдм рдХреБрдЫ рд╣реЛрдЧрд╛ рдЬреЛ рдЖрдкрдХреЛ рд╣рдорд╛рд░реЗ рдПрд╕рдбреАрдХреЗ рдХреЗ рд▓рд┐рдП рдЪрд╛рд╣рд┐рдП:
MySDK
- - 1.0
- - - - рд╕рдВрджрд░реНрдн \ CommonConfiguration \ neutral \ MyCustomControls.dll
- - - - Redist \ CommonConfiguration \ neutral \ MyCustomControls.pri
- - - - Redist \ CommonConfiguration \ neutral \ MyCustomControls \ Themes \ generic.xaml
- - - - SDKManifest.xml
рдЗрд╕ рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ,
MySDK рд░реВрдЯ рдлрд╝реЛрд▓реНрдбрд░ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЕрдиреНрдп рд╕рднреА SDK рдлрд╛рдЗрд▓реЗрдВ рд╣реИрдВред рдЗрд╕рдХрд╛ рдХреЛрдИ рднреА рдирд╛рдо рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЗ SDK рдХреЗ рдирд╛рдо рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реЛред
1.0 рдЖрдкрдХреЗ SDK рдХрд╛ рд╕рдВрд╕реНрдХрд░рдг рд╣реИред
рд╕рдВрджрд░реНрдн рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╕рднреА рдореЙрдбреНрдпреВрд▓ рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдПрд╕рдбреАрдХреЗ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдВрдЧреЗ, рдЙрдкрдпреБрдХреНрдд рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдФрд░ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреЗ рд▓рд┐рдП рдЗрдХрдЯреНрдареЗ рд╣реЛрдВрдЧреЗред рдпрд╣реА рд╣реИ, рдЕрдЧрд▓рд╛ рд╕реНрддрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рд╢рд╛рдпрдж рдХреЗрд╡рд▓ рддреАрди рд╡рд┐рдХрд▓реНрдк:
рдбрд┐рдмрдЧ ,
рд░рд┐рдЯреЗрд▓ рдФрд░
рдХреЙрдордирдХреЛрдлрд┐рдЧреЗрд╢рди ред рдЕрдВрддрд┐рдо рд╕реНрддрд░, рдХреНрд░рдорд╢рдГ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдпреЗ рдореЙрдбреНрдпреВрд▓ рдХрд┐рд╕ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреЗ рд▓рд┐рдП рдПрдХрддреНрд░ рдХрд┐рдП рдЧрдП рдереЗ:
рддрдЯрд╕реНрде ,
x64 ,
x86 рдФрд░
рдПрдЖрд░рдПрдо ред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХрд┐рд╕реА рднреА
рдПрд╕реАрдкреАрдпреВ рдХреЗ рддрд╣рдд
рдбрд┐рдмрдЧ рдпрд╛
рд░рд┐рд▓реАрдЬрд╝ рдореЗрдВ рдПрдХ рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдмрдирд╛рдИ рдЧрдИ рдереАред
Redist рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛
рдореЗрдВ рдбреАрдмрдЧрд┐рдВрдЧ рдФрд░ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдлрд╝рд╛рдЗрд▓реЗрдВ рд╣реИрдВ, рдФрд░ рдЙрдиреНрд╣реЗрдВ рдПрдХ рдкреИрдХреЗрдЬ рдореЗрдВ рдкреИрдХ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдФрд░ рдлрд┐рд░, рдпрд╣ рд╕рдм рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдФрд░ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ - рдмрд┐рд▓реНрдХреБрд▓
рд╕рдВрджрд░реНрдн рдХреЗ рд▓рд┐рдП рдЬреИрд╕рд╛ рд╣реИред
SDKManifest.xml рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рд╛рдордЧреНрд░реА рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП:
<?xml version="1.0" encoding="utf-8" ?> <FileList DisplayName="My Custom Controls" ProductFamilyName="My Controls" MinVSVersion="11.0" MinToolsVersion="4.0" CopyRedistToSubDirectory="." AppliesTo="WindowsAppContainer+WindowsXAML+Managed"> <File Reference="MyCustomControls.dll"> <ContainsControls>True</ContainsControls> </File> </FileList>
рдпрд╣ рдлрд╝рд╛рдЗрд▓ рдЙрди рд╕рднреА рдЕрд╕реЗрдВрдмрд▓реА рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреА рд╣реИ рдЬреЛ
рд╕рдВрджрд░реНрдн рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╣реИрдВред
CopyRedistToSubDirectory рдкреИрд░рд╛рдореАрдЯрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реИ рдХрд┐
Redist рдлрд╝реЛрд▓реНрдбрд░ рдХреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдкреИрдХреЗрдЬ рдХреА рдЬрдбрд╝ рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рдХреЙрдкреА рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд╣рдо рдЗрд╕реЗ "" рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВред - рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╕рднреА рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдкреИрдХреЗрдЬ рдХреА рдЬрдбрд╝ рдореЗрдВ рдХреЙрдкреА рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рд░рдЬрд┐рд╕реНрдЯрд░ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдПрд╕рдбреАрдХреЗ
рдЕрдм рдЖрдк рдирд┐рдореНрди рддрд░реАрдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ рдЕрдкрдирд╛ рдПрд╕рдбреАрдХреЗ рд░рдЬрд┐рд╕реНрдЯрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
SDK рдмрдирд╛рдиреЗ рдФрд░ рдкрдВрдЬреАрдХреГрдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рдПрдХ рдирдпрд╛ рдкрд░реАрдХреНрд╖рдг рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬреИрд╕реЗ
Blank App (XAML) ред
рдЙрд╕реА рд╕рдордп, рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐
Windows-> рдПрдХреНрд╕рдЯреЗрдВрд╢рдиреНрд╕ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ
MyCustomControls.dll рдХрд╛ рд▓рд┐рдВрдХ рдЬреЛрдбрд╝рддреЗ рд╕рдордп,
MySDK рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ред

рдпрд╣ рдЬрд╛рдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреНрдпрд╛ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд╣рдо рдЙрд╕реА рддрд░рд╣ рд╕реЗ
MainPage.xaml рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЬреИрд╕рд╛ рдХрд┐ рд╣рдордиреЗ рдкрд┐рдЫрд▓реЗ рдкрд░реАрдХреНрд╖рдг рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдХрд┐рдпрд╛ рдерд╛, рдлрд┐рд░ рд╣рдо рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЪрд▓рд╛рддреЗ рд╣реИрдВ - рдФрд░ рд╣рдо рдХрд╛рд░реНрд░рд╡рд╛рдИ рдореЗрдВ рдЕрдкрдирд╛ рд▓реЛрдбрд┐рдВрдЧ рд╕рдВрдХреЗрддрдХ рджреЗрдЦрддреЗ рд╣реИрдВ!
рдЙрдкрдпреЛрдЧреА рд▓рд┐рдВрдХ
рдЕрдкрдиреЗ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдПрд╕рдбреАрдХреЗ рдмрдирд╛рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд▓рд┐рдВрдХ рдкрд░ рдкрд╛рдИ рдЬрд╛ рд╕рдХрддреА рд╣реИ:
http://msdn.microsoft.com/library/hh768146(v=VS.110).aspxрдпрджрд┐ рдЖрдк WinRT рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣рд╛рдВ рдЕрдиреНрдп рдЙрдкрдпреЛрдЧреА рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рд▓рд┐рдВрдХ рджрд┐рдП рдЧрдП рд╣реИрдВ: