本文整理汇总了C#中System.Windows.Controls.Canvas.AttachTo方法的典型用法代码示例。如果您正苦于以下问题:C# Canvas.AttachTo方法的具体用法?C# Canvas.AttachTo怎么用?C# Canvas.AttachTo使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Windows.Controls.Canvas
的用法示例。
在下文中一共展示了Canvas.AttachTo方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Main
public static void Main(string[] e)
{
var w = new Window { Title = "JSC - Android Project" }.SizeTo(400 + 48, 300);
var c = new Canvas();
c.AttachTo(w);
new global::AndroidVortexLesson1.Avalon.Images.jsc().AttachTo(c).MoveTo(300, 16);
var button1 = new Button { Content = "Debug in Android Emulator" };
button1.MoveTo(16, 128).SizeTo(400, 32);
button1.AttachTo(c);
var button2 = new Button { Content = "Debug on Device" };
button2.MoveTo(16, 128 + 48).SizeTo(400, 32);
button2.AttachTo(c);
w.ShowDialog();
}
示例2: OrcasAvalonApplicationCanvas
public OrcasAvalonApplicationCanvas()
{
Width = DefaultWidth;
Height = DefaultHeight;
//Background = 0xffc0c0c0.ToSolidColorBrush();
Background = Brushes.Black;
var InfoOverlay = new Canvas
{
Width = DefaultWidth,
Height = DefaultHeight,
};
var InfoOverlayShadow = new Rectangle
{
Width = DefaultWidth,
Height = DefaultHeight,
Fill = Brushes.Black
}.AttachTo(InfoOverlay);
var InfoOverlayShadowOpacity = InfoOverlay.ToAnimatedOpacity();
InfoOverlayShadowOpacity.Opacity = 1;
var InfoOverlayText = new TextBox
{
AcceptsReturn = true,
IsReadOnly = true,
Background = Brushes.Transparent,
BorderThickness = new Thickness(0),
Width = DefaultWidth,
Height = 180,
TextAlignment = TextAlignment.Center,
FontSize = 30,
Foreground = Brushes.White,
Text = "The winner is\n the first player\n to get an unbroken row\n of five stones",
FontFamily = new FontFamily("Verdana")
}.MoveTo(0, (DefaultHeight - 180) / 2).AttachTo(InfoOverlay);
var TouchOverlay = new Canvas
{
Width = DefaultWidth,
Height = DefaultHeight,
Background = Brushes.Yellow,
Opacity = 0,
};
var Tiles = new Tile[Intersections * Intersections];
#region WhereUnderAttack
Func<int, int, IEnumerable<Tile>> WhereUnderAttack =
(length, value) =>
Tiles.Where(
k =>
{
if (k.Value != 0)
return false;
return k.IsUnderAttack(value, length);
}
);
#endregion
#region AI
Action AI =
delegate
{
// defensive rule:
var AttackWith4 = WhereUnderAttack(4, -1).FirstOrDefault();
if (AttackWith4 != null)
{
Console.WriteLine("AttackWith4");
AttackWith4.Value = -1;
return;
}
var AttackedBy4 = WhereUnderAttack(4, 1).FirstOrDefault();
if (AttackedBy4 != null)
{
Console.WriteLine("AttackedBy4");
AttackedBy4.Value = -1;
return;
}
var AttackWith3 = WhereUnderAttack(3, -1).FirstOrDefault();
if (AttackWith3 != null)
{
Console.WriteLine("AttackWith3");
AttackWith3.Value = -1;
return;
}
var AttackedBy3 = WhereUnderAttack(3, 1).FirstOrDefault();
//.........这里部分代码省略.........
示例3: CreateWindow
public void CreateWindow(Position WindowLocation, Action<WindowInfo> Yield = null)
{
var GlassArea = new Canvas();
GlassArea.AttachTo(this);
GlassArea.MoveTo(WindowLocation.Left, WindowLocation.Top);
GlassArea.SizeTo(WindowLocation.Width, WindowLocation.Height);
GlassArea.ClipToBounds = true;
for (int i = 0; i < WindowLocation.Width; i += 456)
for (int j = 0; j < WindowLocation.Height; j += 696)
{
var i2 = new Avalon.Images.s_bg().SizeTo(456, 696);
i2.MoveTo(i, j);
i2.Opacity = 0.8;
i2.AttachTo(GlassArea);
}
var GlassOpacity = GlassArea.ToAnimatedOpacity();
GlassOpacity.Opacity = 1;
var w = new WindowInfo { GlassArea = GlassArea, GlassOpacity = GlassOpacity, WindowLocation = WindowLocation };
var Left = new Avalon.Images.s_l
{
Stretch = Stretch.Fill
}
.AttachTo(this);
var Top = new Avalon.Images.s_t
{
Stretch = Stretch.Fill
}
.AttachTo(this);
var Right = new Avalon.Images.s_r
{
Stretch = Stretch.Fill
}.AttachTo(this);
var Bottom = new Avalon.Images.s_b
{
Stretch = Stretch.Fill
}
.AttachTo(this);
var TopLeft = new Avalon.Images.s_tl
{
Stretch = Stretch.Fill
}
.AttachTo(this);
var BottomRight = new Avalon.Images.s_br
{
Stretch = Stretch.Fill
}
.AttachTo(this);
var TopRight = new Avalon.Images.s_tr
{
Stretch = Stretch.Fill
}
.AttachTo(this);
var BottomLeft = new Avalon.Images.s_bl
{
Stretch = Stretch.Fill
}
.AttachTo(this);
w.WindowLocationChanged +=
delegate
{
Left.MoveTo(WindowLocation.Left - 16, WindowLocation.Top + 6)
.SizeTo(16, WindowLocation.Height - 6 - 4);
Top.MoveTo(WindowLocation.Left + 6, WindowLocation.Top - 16)
.SizeTo(WindowLocation.Width - 6 - 4, 22);
Right.MoveTo(WindowLocation.Left + WindowLocation.Width, WindowLocation.Top + 6)
.SizeTo(20, WindowLocation.Height - 4 - 6);
Bottom.MoveTo(WindowLocation.Left + 5, WindowLocation.Top + WindowLocation.Height)
//.........这里部分代码省略.........
示例4: ApplicationCanvas
public ApplicationCanvas()
{
Width = DefaultWidth;
Height = DefaultHeight;
this.Background = Brushes.Blue;
var left = new PartialView(Colors.Blue, true).AttachTo(this);
var right = new PartialView(Colors.Green).AttachTo(this).MoveTo(DefaultWidth / 2, 0);
this.InfoOverlay = new Canvas().AttachTo(this);
this.About = new TextBox
{
BorderThickness = new Thickness(0),
Background = Brushes.Transparent,
Foreground = Brushes.Black,
AcceptsReturn = true,
Text =
@"Windows Presentation Foundation Touch demo
- Debuggable under .NET (fullscreen when maximized and touch events)
- Adobe Flash 10.1 version via jsc
No touch events in fullscreen
Browser fullscreen feature shall be used instead
Tested for IE, Firefox, Chrome
- Javascript version for Firefox4 via jsc
- Tested with 4 touch points on Dell Latitude XT
- Galaxy S/ Galaxy Tab within browser have only 1 touchpoint
- 2012.09 flash no longer available on android
- multitouch seems to work in firefox/ flash (11.0)
- multitouch seems to work in ie/flash (10.0)
- p2p LAN no longer works?
- Works on AIR for Android! :) 2013-03-05
- Works on AIR for iPad! :) 2014-03-01
"
}.AttachTo(InfoOverlay).MoveTo(128, 32);
var c1 = new cloud_mid().AttachTo(InfoOverlay);
var c2 = new cloud_mid().AttachTo(InfoOverlay);
this.TouchOverlay = new Canvas
{
}.AttachTo(this); //.SizeTo(DefaultWidth, DefaultHeight);
var TouchArea = new Rectangle
{
Width = DefaultWidth,
Height = DefaultHeight,
Fill = Brushes.White,
Opacity = 0
}.AttachTo(TouchOverlay);
var t = TouchOverlay.ToTouchEvents(
m =>
{
// a new reusable finger introduced by the system!
var Content = new Canvas();
new Avalon.Images.white_jsc().AttachTo(Content).MoveTo(
Avalon.Images.white_jsc.ImageDefaultWidth / -2,
Avalon.Images.white_jsc.ImageDefaultHeight / -2
);
var CurrentTouchPoint = default(Tuple<double, double>);
Func<Tuple<double, double>> GetTouchPoint = () => CurrentTouchPoint;
m.TouchDown += e =>
{
var p = e.GetTouchPoint(TouchOverlay).Position;
CurrentTouchPoint = Tuple.Create(p.X, p.Y);
Content.AttachTo(InfoOverlay);
};
m.TouchUp += e =>
{
CurrentTouchPoint = null;
Content.Orphanize();
};
m.TouchMove += e =>
{
var p = e.GetTouchPoint(TouchOverlay).Position;
CurrentTouchPoint = Tuple.Create(p.X, p.Y);
//.........这里部分代码省略.........
示例5: TileFieldTest
public TileFieldTest()
{
this.Width = DefaultWidth;
this.Height = DefaultHeight;
new[]
{
Colors.White,
Colors.Blue,
Colors.Red,
Colors.Yellow
}.ToGradient(DefaultHeight / 4).ForEach(
(c, i) =>
new Rectangle
{
Fill = new SolidColorBrush(c),
Width = DefaultWidth,
Height = 5,
}.MoveTo(0, i * 4).AttachTo(this)
);
var t = new TextBox
{
AcceptsReturn = true,
Background = Brushes.White,
BorderThickness = new Thickness(0),
Text = "hello world" + Environment.NewLine,
Width = DefaultWidth / 2,
Height = DefaultHeight / 4
}.AttachTo(this).MoveTo(DefaultWidth / 4, 4);
var OverlayCanvas = new Canvas
{
Width = DefaultWidth,
Height = DefaultHeight
};
var OverlayRectangle = new Rectangle
{
Width = DefaultWidth,
Height = DefaultHeight,
Fill = Brushes.Black,
Opacity = 0
}.AttachTo(OverlayCanvas);
var field = new TileField(8, 6);
var field_x = 64;
var field_y = 200;
field.Container.MoveTo(field_x, field_y).AttachTo(this);
field.Overlay.MoveTo(field_x, field_y).AttachTo(OverlayCanvas);
var WaterFlow = new Queue<Action>();
#region pipes
{
var pipe = new Pipe.PumpToLeft();
pipe.Container.MoveTo(field_x + Tile.ShadowBorder + Tile.Size * 5, field_y + Tile.ShadowBorder + 52 * 0 - 12).AttachTo(this);
pipe.Water.ForEach(
i =>
WaterFlow.Enqueue(() => i.Visibility = Visibility.Visible)
);
}
Enumerable.Range(0, 2).ForEach(
ix_ =>
{
var ix = 4 - ix_;
var pipe = new Pipe.LeftToRight();
pipe.Container.MoveTo(field_x + Tile.ShadowBorder + Tile.Size * ix, field_y + Tile.ShadowBorder + 52 * 0 - 12).AttachTo(this);
pipe.Water.ForEachReversed(
i => WaterFlow.Enqueue(() => i.Visibility = Visibility.Visible)
);
}
);
{
var pipe = new Pipe.RightToBottom();
pipe.Container.MoveTo(field_x + Tile.ShadowBorder + Tile.Size * 2, field_y + Tile.ShadowBorder + 52 * 0 - 12).AttachTo(this);
pipe.Water.ForEach(
i => WaterFlow.Enqueue(() => i.Visibility = Visibility.Visible)
);
}
Enumerable.Range(1, 2).ForEach(
iy =>
{
//.........这里部分代码省略.........
示例6: ApplicationCanvas
public ApplicationCanvas()
{
var c = new CheckBox
{
Content = new TextBlock { Text = "Print to Console " }
}.MoveTo(8, 96);
var t = new TextBlock { Text = "?" }.AttachTo(this);
var redblockcontainer = new Canvas();
redblockcontainer.Opacity = 0.8;
redblockcontainer.Background = Brushes.Red;
redblockcontainer.AttachTo(this);
redblockcontainer.MoveTo(8, 8);
this.SizeChanged += (s, e) => redblockcontainer.MoveTo(64 - 16, this.Height / 3 - 16).SizeTo(this.Width - 96, this.Height / 3 - 8);
var redblockoverlay = new Canvas();
redblockoverlay.Opacity = 0.1;
redblockoverlay.Background = Brushes.Red;
redblockoverlay.AttachTo(this);
redblockoverlay.MoveTo(8, 8);
this.SizeChanged += (s, e) => redblockoverlay.MoveTo(64 + 64, this.Height / 3).SizeTo(this.Width - 96 - 64, this.Height / 3 - 8);
var yellowblock = new Canvas();
yellowblock.Opacity = 0.7;
yellowblock.Background = Brushes.Yellow;
yellowblock.AttachTo(this);
yellowblock.SizeTo(400, 200);
var a_case1 = Enumerable.Range(0, 64).Select(
i =>
{
var rr = new Rectangle();
rr.Fill = Brushes.Blue;
rr.AttachTo(yellowblock);
rr.SizeTo(32, 32);
rr.MoveTo(-32, -32);
return rr;
}
).ToArray();
var a_case2 = Enumerable.Range(0, 64).Select(
i =>
{
var rr = new Rectangle();
rr.Fill = Brushes.Green;
rr.AttachTo(this);
rr.SizeTo(32, 32);
rr.MoveTo(-32, -32);
return rr;
}
).ToArray();
var greenblock = new Canvas();
greenblock.Opacity = 0.5;
greenblock.Background = Brushes.Green;
greenblock.AttachTo(this);
greenblock.SizeTo(400, 200);
greenblock.MoveTo(200 - 12, 12);
var a_case3 = Enumerable.Range(0, 64).Select(
i =>
{
var rr = new Rectangle();
rr.Fill = Brushes.Black;
rr.AttachTo(redblockcontainer);
rr.SizeTo(32, 32);
rr.MoveTo(-32, -32);
return rr;
}
).ToArray();
var case1 = yellowblock;
var case2 = greenblock;
var case3 = redblockoverlay;
#region case1
case1.TouchDown +=
(s, e) =>
{
e.Handled = true;
// is called implicitly on Android Chrome
e.TouchDevice.Capture(case1);
Console.WriteLine("TouchDown");
};
case1.MouseMove +=
(s, e) =>
{
// case 1
var p = e.GetPosition(case1);
//.........这里部分代码省略.........