我有一个wpf自定义控件,可以在画布上绘制内容。但我不知道如何在窗口上显示此画布。当我将此控件添加到主机应用程序时,我希望此画布填充该应用程序的窗口。我看过一些使用模板绑定来显示ui元素等的教程,但我读到画布没有模板属性或其他东西。如何显示我正在绘制的画布?谢谢
namespace WPFCustomControls {
public class MyCustomControl : Control {
private Canvas canvas = new Canvas();
static MyCustomControl() {
DefaultStyleKeyProperty.OverrideMetadata(typeof(MyCustomControl), new
FrameworkPropertyMetadata(typeof(MyCustomControl)));
}
public void drawOnCanvas()
{
//draw stuff on canvas
}
public void displayCanvas()
{
//display canvas on app window
}
}
}
答案 0 :(得分:0)
您可以从具有ContentControl
属性的Content
派生,而不是从Control
派生。
例如:
public class MyCustomControl : ContentControl
{
private Canvas _canvas = new Canvas();
public MyCustomControl()
{
this.Content = _canvas;
}
}
也可以直接从Canvas
派生。