ui/wpf/UIcore/Controls.cs

Wed, 20 Jan 2016 11:35:01 +0100

author
Olaf Wintermann <olaf.wintermann@gmail.com>
date
Wed, 20 Jan 2016 11:35:01 +0100
changeset 101
1c943d43fa81
parent 83
a38aec91bd66
child 104
3efe0210e27e
permissions
-rw-r--r--

implemented grid container (WPF)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;

namespace UI
{  
    public class Controls
    {

        public static Button Button(Container container, String label, RoutedEventHandler e)
        {
            return Application.GetInstance().Exec<Button>(() => Controls.CreateButton(container, label, e));
        }

        public static Label Label(Container container, String label, int alignment)
        {
            HorizontalAlignment a;
            switch(alignment)
            {
                case 0: a = HorizontalAlignment.Left; break;
                case 1: a = HorizontalAlignment.Right; break;
                case 2: a = HorizontalAlignment.Center; break;
                default: a = HorizontalAlignment.Left; break;
            }
            return Application.GetInstance().Exec<Label>(() => Controls.CreateLabel(container, label, a));
        }

        public static Label Space(Container container)
        {
            return Application.GetInstance().Exec<Label>(() => Controls.CreateLabel(container, null, HorizontalAlignment.Center));
        }

        public static Button CreateButton(Container container, String label, RoutedEventHandler e)
        {
            Button button = new Button();
            button.Content = label;
            container.Add(button, false);

            button.Click += e;

            return button;
        }

        public static Label CreateLabel(Container container, String str, HorizontalAlignment alignment)
        {
            Label label = new Label();
            label.HorizontalAlignment = alignment;
            label.Content = str;
            container.Add(label, false);

            return label;
        }
    }
}

mercurial