2015-01-15 2 views
0

Я новичок в разработке Windows Phone, и у меня есть вопрос относительно приложения, которое я создаю.Разработка Windows Phone: как создать пользовательский класс в сетке xaml?

У меня есть проект, который имеет классы под названием «MainPage.xaml», «MainPage.xaml.cs» и «Character.cs». В моем классе Character.cs я создаю объект, который выглядит как прямоугольник (если я правильно сделал класс) при создании экземпляра. Вот код:

using System; 
using System.Collections.Generic; 
//using System.IO; 
using System.Linq; 
using System.Runtime.InteropServices.WindowsRuntime; 
using System.Windows.Input; 
using Windows.Foundation; 
using Windows.Foundation.Collections; 
using Windows.UI.Xaml; 
using Windows.UI.Xaml.Controls; 
using Windows.UI.Xaml.Controls.Primitives; 
using Windows.UI.Xaml.Data; 
using Windows.UI.Xaml.Input; 
using Windows.UI.Xaml.Media; 
using Windows.UI.Xaml.Navigation; 
using Windows.UI.Xaml.Shapes; 
using System.Diagnostics; 

//Blue color: "#FF32C7FF" 
//Green color: "#FF32FFE3" 

namespace Manipulation 
{ 
public sealed partial class Character : Control 
{ 
    Path myPath = new Path(); 
    private TranslateTransform dragTranslation; 
    private int gameStage; // Determines what stage of game 
    private int colorChoice; 
    private int xCord = 200; 
    private int yCord = 200; 
    private int rHeight = 100; 
    private int rWidth = 100; 


    public Character() 
    { 
     Random rand = new Random(); 
     SolidColorBrush characterColor = new SolidColorBrush(); 
     Rect myRectangle = new Rect(xCord,yCord,rWidth,rHeight); 
     Path myPath = new Path(); 
     RectangleGeometry myGeo = new RectangleGeometry(); 
     GeometryGroup myGeoGroup = new GeometryGroup(); 
     Canvas myCanvas = new Canvas(); 
     //Grid MyGrid = new Grid(); 


     colorChoice = rand.Next(1,3); 
     if(colorChoice == 1) // Represents blue color 
     { 
      characterColor.Color = Windows.UI.Color.FromArgb(100,50,199,225); 
      myPath.Stroke = characterColor; 
     } 
     else // Represents green color 
     { 
      characterColor.Color = Windows.UI.Color.FromArgb(100,50,225,227); 
     } 
     myPath.StrokeThickness = 5; 

     myGeo.Rect = myRectangle; 
     myGeoGroup.Children.Add(myGeo); 

     myPath.ManipulationDelta += Drag_ManipulationDelta; 
     dragTranslation = new TranslateTransform(); 
     myPath.RenderTransform = this.dragTranslation; 
     myPath.ManipulationMode = ManipulationModes.TranslateX | ManipulationModes.TranslateY; 
     myPath.Data = myGeoGroup;   
    } 

    private void Drag_ManipulationDelta(object sender, ManipulationDeltaRoutedEventArgs e) 
    { 
     dragTranslation.X += e.Delta.Translation.X; 
     dragTranslation.Y += e.Delta.Translation.Y; 
    } 

    public int GameStage { get { return gameStage; } set { gameStage = value; } } 
    public int CharacterColorNum { get { return colorChoice; } set { colorChoice = value; } } 
    public int XCoordinate { get { return xCord; } set { xCord = value; } } 
    public int YCoordinate { get { return yCord; } set { yCord = value; } } 
    public int CharacterHeight { get { return rHeight; } set { rHeight = value; } } 
    public int CharacterWidth { get { return rWidth; } set {rWidth = value;} } 
} 
} 

То, что я хочу быть в состоянии сделать это в моем классе «MainPage.xaml.cs» Я хочу, чтобы создать экземпляр этого класса персонажа и иметь его место прямоугольника это делает на моем «MainPage .xaml 'сетка. Может ли кто-нибудь пройти меня через это, так как я новичок?

Благодаря

+0

Google, как создать 'пользовательский элемент управления' в Windows Phone. –

+0

Хорошо. Я буду читать. – DigitalMath

ответ

1

, если ваш пользовательский элемент управления в другом проекте не забудьте добавить сборку в Xmlns:

xmlns:src="clr-namespace:Manipulation;assembly=NAMEASSEMBLY" 
Смежные вопросы