Динамически добавлять и удалять элементы управления, используя UWP Windows 10 Visual Studio 2015

Редактировать:23-10;15:37h Давайте сделаем одну очень большую историю очень маленькой. Я многое узнал!

первое впечатление возможного макета

Я хочу программу, где я могу разместить / заменить / повернуть / отрегулировать / удалить заборы в поле.

На этом этапе я перетаскиваю заборы из списка в холст. Но сейчас у меня проблема. Я не могу дать им имя. Я не могу найти способ взаимодействовать.

И видя, что я зашел так далеко. Возможно, лучше рассмотреть вариант сохранения / загрузки. Я ожидаю, что какой-то CSV-файл XML может быть использован.


xaml.cs

 byte Selectie = 0;



    private void parcours_Drop(object sender, DragEventArgs e)
    {

        var pointer = e.GetPosition(parcours);

        //following lines are used to create an object.
        if (Selectie !=0)
        {
            Image enkel = new Image();


            enkel.Width = 70;
            enkel.Height = 70;
            if (Selectie == 1)
            {
                enkel.Source = new Windows.UI.Xaml.Media.Imaging.BitmapImage(new Uri("ms-appx:///Assets/hindernissen_01.png"));
            }
            if (Selectie == 2)
            {
                enkel.Source = new Windows.UI.Xaml.Media.Imaging.BitmapImage(new Uri("ms-appx:///Assets/hindernissen_02.png"));
            }
            if (Selectie == 3)
            {
                enkel.Source = new Windows.UI.Xaml.Media.Imaging.BitmapImage(new Uri("ms-appx:///Assets/hindernissen_03.png"));
            }
            enkel.CanDrag = true;

            parcours.Children.Add(enkel);
            Canvas.SetTop(enkel, pointer.Y - 35);
            Canvas.SetLeft(enkel, pointer.X - 35);

        }
        if (Selectie == 0)
        {
            Canvas.SetTop(enkel, pointer.Y - 35);
            Canvas.SetLeft(enkel, pointer.X - 35);
        }



        Selectie = 0;
    }


    private void parcours_DragOver(object sender, DragEventArgs e)
    {


        e.AcceptedOperation = Windows.ApplicationModel.DataTransfer.DataPackageOperation.Move;//you must accept accept a drop. prevents it from dropping anywere.
    }

    private void tripple_DragStarting(UIElement sender, DragStartingEventArgs args)
    {
        Selectie = 3;
    }

    private void dubbel_DragStarting(UIElement sender, DragStartingEventArgs args)
    {
        Selectie = 2;
    }

    private void enkel_DragStarting(UIElement sender, DragStartingEventArgs args)
    {
        Selectie = 1;
    }

Главная страница

    <Page
    x:Class="App1.MainPage"
    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"
    mc:Ignorable="d">

    <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
        <TextBlock x:Name="Header1" 
                   HorizontalAlignment="Left" 
                   Height="59" Margin="118,0,0,0" 
                   TextWrapping="Wrap" Text="Parcourshulp" 
                   VerticalAlignment="Top" Width="840" 
                   Foreground="Black" FontSize="48" 
                   Grid.ColumnSpan="2"
                   />

        <Rectangle Fill="Red" 
                   Height="18" 
                   Margin="1,64,0,0" 
                   Stroke="Black" 
                   VerticalAlignment="Top" 

                   Grid.ColumnSpan="2"
                   />

        <Canvas x:Name="parcours" HorizontalAlignment="Left" 

                Height="306" 
                Margin="33,176,0,0" 
                VerticalAlignment="Top" 
                Width="745" 
                Background="#FFECE2E2" 
                AllowDrop="True" 
                Grid.ColumnSpan="2" Drop="parcours_Drop" DragOver="parcours_DragOver">
            <Image x:Name="enkel_Copy2" HorizontalAlignment="Left" Height="70" VerticalAlignment="Top" Width="70" RenderTransformOrigin="0.09,-0.015" Source="Assets/hindernissen_01.png" CanDrag="True" Canvas.Left="456" Canvas.Top="195" />

        </Canvas>

        <ListView x:Name="listView" Background="#FFECE2E2"  Height="306" Margin="827,176,0,0" VerticalAlignment="Top" HorizontalAlignment="Left" Width="107" RenderTransformOrigin="0.518,0.532">
            <Image x:Name="enkel" HorizontalAlignment="Left" Height="70" VerticalAlignment="Top" Width="70" RenderTransformOrigin="0.09,-0.015" Source="Assets/hindernissen_01.png" CanDrag="True" DragStarting="enkel_DragStarting">

            </Image>
            <Image x:Name="dubbel" HorizontalAlignment="Left" Height="70" VerticalAlignment="Top" Width="70" RenderTransformOrigin="0.09,-0.015" Source="Assets/hindernissen_02.png" CanDrag="True" DragStarting="dubbel_DragStarting"/>
            <Image x:Name="tripple" HorizontalAlignment="Left" Height="70" VerticalAlignment="Top" Width="70" RenderTransformOrigin="0.09,-0.015" Source="Assets/hindernissen_03.png" CanDrag="True" DragStarting="tripple_DragStarting"/>


        </ListView>
    </Grid>
</Page>

0 ответов

Другие вопросы по тегам