mirror of
https://gitee.com/csharpui/CPF.git
synced 2026-06-29 02:21:51 +08:00
初始化
This commit is contained in:
147
ConsoleApp1/Class2.cs
Normal file
147
ConsoleApp1/Class2.cs
Normal file
@@ -0,0 +1,147 @@
|
||||
using CPF;
|
||||
using CPF.Animation;
|
||||
using CPF.Controls;
|
||||
using CPF.Drawing;
|
||||
using CPF.Shapes;
|
||||
using CPF.Styling;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace ConsoleApp1
|
||||
{
|
||||
[CPF.Design.DesignerLoadStyle("res://ConsoleApp1/Stylesheet1.css")]//用于设计的时候加载样式
|
||||
public class Class2 : Expander
|
||||
{
|
||||
protected override void InitializeComponent()
|
||||
{
|
||||
Children.Add(new Grid
|
||||
{
|
||||
MarginLeft = 0,
|
||||
MarginTop = 0,
|
||||
RowDefinitions =
|
||||
{
|
||||
new RowDefinition
|
||||
{
|
||||
Height = "auto"
|
||||
},
|
||||
new RowDefinition
|
||||
{
|
||||
Height = "auto"
|
||||
}
|
||||
},
|
||||
Children =
|
||||
{
|
||||
new Panel
|
||||
{
|
||||
Name="header",
|
||||
MarginLeft=0,
|
||||
Children=
|
||||
{
|
||||
new Panel
|
||||
{
|
||||
MarginLeft=3,
|
||||
Name="btnPanel",
|
||||
Children =
|
||||
{
|
||||
new Ellipse
|
||||
{
|
||||
Width=19,
|
||||
Height=19,
|
||||
IsAntiAlias=true,
|
||||
Fill="#fff",
|
||||
Name="circle",
|
||||
PresenterFor=this,
|
||||
StrokeFill="72,72,72",
|
||||
},
|
||||
new Polyline
|
||||
{
|
||||
Name="arrow",
|
||||
Points=
|
||||
{
|
||||
new Point(0, 1.5f),
|
||||
new Point(3.5f, 5),
|
||||
new Point(7, 1.5f)
|
||||
},
|
||||
IsAntiAlias=true,
|
||||
[nameof(RenderTransform)]=(this,nameof(IsExpanded),a=>(bool)a?null:new RotateTransform(180))
|
||||
}
|
||||
}
|
||||
},
|
||||
new ContentControl
|
||||
{
|
||||
//MarginBottom = 5,
|
||||
MarginLeft = 25,
|
||||
MarginRight = 5,//MarginTop = 5,
|
||||
Bindings =
|
||||
{
|
||||
{
|
||||
nameof(Content),
|
||||
nameof(Header),
|
||||
this
|
||||
},
|
||||
{
|
||||
nameof(ContentTemplate),
|
||||
nameof(HeaderTemplate),
|
||||
this
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
Commands =
|
||||
{
|
||||
{
|
||||
nameof(MouseDown),
|
||||
(s,e)=>
|
||||
{
|
||||
this.IsExpanded=!this.IsExpanded;
|
||||
(s as UIElement).CaptureMouse();
|
||||
}
|
||||
},
|
||||
{
|
||||
nameof(MouseUp),
|
||||
(s,e)=>
|
||||
{
|
||||
(s as UIElement).ReleaseMouseCapture();
|
||||
}
|
||||
}
|
||||
},
|
||||
Triggers =
|
||||
{
|
||||
{
|
||||
nameof(IsMouseOver),
|
||||
Relation.Me.Find(a=>a.Name=="circle"&&a.PresenterFor==this),
|
||||
null,
|
||||
(nameof(Ellipse.StrokeFill),"88,149,255")
|
||||
},
|
||||
{
|
||||
nameof(IsMouseCaptured),
|
||||
Relation.Me.Find(a=>a.Name=="circle"&&a.PresenterFor==this),
|
||||
null,
|
||||
(nameof(Ellipse.StrokeStyle),"2"),
|
||||
(nameof(Ellipse.Fill),"217,236,255")
|
||||
}
|
||||
}
|
||||
},
|
||||
new Border
|
||||
{
|
||||
Name = "contentPresenter",
|
||||
Height = "100%",
|
||||
Width = "100%",
|
||||
BorderFill = null,
|
||||
PresenterFor = this,
|
||||
Attacheds=
|
||||
{
|
||||
{
|
||||
Grid.RowIndex,
|
||||
1
|
||||
}
|
||||
},
|
||||
[nameof(Visibility)]=(this,nameof(IsExpanded),a=>(bool)a?Visibility.Visible:Visibility.Collapsed),
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user