Hallo,
daher das ich die GUI zum entwickeln des UI von Android liebe, hab ich mir vorgenommen ein paar Dinge nachzuprogrammieren.
Nun, in Android gibt es die Möglichkeit bei der Weight und Heigth die Px anzugeben und MATCH_PARENT, WRAP_CONTENT und FILL_PARENT anzugeben.
Nun würde ich das auch gern machen. Momentan sieht mein Code so
View
Spoiler anzeigen
Enums
LinearLayout
Spoiler anzeigen
Meine frage ist, wie kann ich beim View (LinearLayout),Vertikal als Enum und als Int wert angeben im Desginer
Also das ich eine Vertikale eintragen kann und das ich die Auswahl habe ?
Ich weiß das man das über die []-klammern macht, aber ich weiß nicht wie, bzw ich weiß nicht mal ein Stichword dafür, was man da verwenden könnte.
hat jm. eine Idee ?
daher das ich die GUI zum entwickeln des UI von Android liebe, hab ich mir vorgenommen ein paar Dinge nachzuprogrammieren.
Nun, in Android gibt es die Möglichkeit bei der Weight und Heigth die Px anzugeben und MATCH_PARENT, WRAP_CONTENT und FILL_PARENT anzugeben.
Nun würde ich das auch gern machen. Momentan sieht mein Code so
View
C#-Quellcode
- [Serializable]
- public class View : UserControl {
- private event PaintEventHandler Paint;
- private event MouseEventHandler Mouse;
- public int Vertikal { get; set; }
- public int Horizontal { get;set;}
- public View() : base() {
- Mouse = new MouseEventHandler(MouseController);
- Paint = new PaintEventHandler(OnPaint);
- Horizontal = (int) LayoutPrams.MATCH_PARENT;
- Vertikal = (int) LayoutPrams.WRAP_CONTENT;
- }
- protected override void OnSizeChanged(EventArgs e) {
- if(Vertikal.Equals(LayoutPrams.MATCH_PARENT))
- this.Width = Parent.Width;
- if(Horizontal.Equals(LayoutPrams.MATCH_PARENT))
- this.Height = Parent.Height;
- base.OnSizeChanged(e);
- }
- private void MouseController(object sender, MouseEventArgs e) {
- }
- private void OnPaint(object sender, PaintEventArgs e) {
- base.OnPaint(e);
- }
- }
-
Enums
LinearLayout
C#-Quellcode
-
- [Serializable]
- [Designer("System.Windows.Forms.Design.ParentControlDesigner, System.Design", typeof(IDesigner))]
- public class LinearLayout:View {
- public Orientation ViewOrientation { get; set; }
- public int ViewsPadding { get; set; }
- public LinearLayout() : base() {
- ViewOrientation = Orientation.Vertikal;
- myViews = new List<View>();
- ViewsPadding = 0;
- }
- protected override void OnControlAdded(ControlEventArgs e) {
- List<Control> con = Controls.OfType<Control>().ToList();
- con.ForEach(x => {
- int index = con.IndexOf(x);
- if(index == 0) {
- x.Location = new Point(0, 0);
- } else {
- int h = con[index - 1].Height;
- x.Location = new Point(0, h + ViewsPadding);
- }
- });
- base.OnControlAdded(e);
- }
- protected override void OnPaint(PaintEventArgs e) {
- if(ViewOrientation.Equals(Orientation.Horizontal)) {
- } else {
- }
- base.OnPaint(e);
- }
- public void AddView(View view) {
- myViews.Add(view);
- }
- public void AddView(View view, int index) {
- myViews.Insert(index, view);
- }
- public void AddViews(View[] views) {
- myViews.AddRange(views);
- }
- public void AddViews(View[] views, int index) {
- myViews.InsertRange(index, views);
- }
- }
Meine frage ist, wie kann ich beim View (LinearLayout),Vertikal als Enum und als Int wert angeben im Desginer
Also das ich eine Vertikale eintragen kann und das ich die Auswahl habe ?
Ich weiß das man das über die []-klammern macht, aber ich weiß nicht wie, bzw ich weiß nicht mal ein Stichword dafür, was man da verwenden könnte.
hat jm. eine Idee ?