继承Canvas的控件,为何放到上面的其他控件看不到?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Controls;
using System.Windows.Media;
using System.Windows;
namespace MyCanvas
{
public class DrawingCanvas : Canvas
{
private VisualCollection visuals;
public DrawingCanvas()
{
visuals = new VisualCollection(this);
}
protected override int VisualChildrenCount
{
get
{
return visuals.Count;
}
}
protected override Visual GetVisualChild(int index)
{
return visuals[index];
}
public void AddVisual(Visual visual)
{
visuals.Add(visual);
}
public void DeleteVisual(Visual visual)
{
visuals.Remove(visual);
}
public DrawingVisual GetVisual(Point point)
{
HitTestResult hitResult = VisualTreeHelper.HitTest(this, point);
return hitResult.VisualHit as DrawingVisual;
}
internal int Count
{
get
{
return visuals.Count;
}
}
}
}
DrawingCanvas 类继承自Canvas,当我在窗体中使用DrawingCanvas的时候,放到上面的Button无法显示,是什么原因呢? --------------------编程问答-------------------- 显示BUTTON的代码在哪儿 --------------------编程问答--------------------
<Window x:Class="XRayCanvas.MainWindow"--------------------编程问答-------------------- 就是那个在DrawingCanvas中的button2显示不出来 --------------------编程问答-------------------- 这个可不是显示button2的代码,这只是表示包含一个Button2。
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525" xmlns:my="clr-namespace:MyCanvas">
<Grid>
<Button Content="Button" Height="23" HorizontalAlignment="Left" Margin="180,18,0,0" Name="button1" VerticalAlignment="Top" Width="75" Click="button1_Click" />
<my:DrawingCanvas Height="237" HorizontalAlignment="Left" Margin="0,62,0,0" x:Name="drawingCanvas1" VerticalAlignment="Top" Width="503">
<Button Canvas.Left="168" Canvas.Top="32" Content="Button" Height="23" Name="button2" Width="75" />
</my:DrawingCanvas>
</Grid>
</Window>
补充:.NET技术 , C#