我想创建一个自定义的WPF控件,其中只有一个“子”控件。虽然通过子类化ContentControl或UserControl可以实现,但是存在一个缺点:这些控件在设计模式下不起作用。
所谓的“不起作用”是指以下情况:假设我有一个Canvas,其中包含我的自定义控件。我想在我的控件中放置一个Button。我从工具箱中拖动它,它似乎出现在我的控件内部。但是,XAML视图显示新的按钮实际上属于Canvas,而不是我的控件。
我可以通过手动编辑XAML将其放置在我的控件内部,但我希望设计器也能正常工作。
有趣的是,当我子类化Canvas、Grid或Panel时,设计器按预期工作。然而,这些控件有许多子元素,这不是我需要的。
如何制作一个在设计器中正常工作的单个子控件?
所谓的“不起作用”是指以下情况:假设我有一个Canvas,其中包含我的自定义控件。我想在我的控件中放置一个Button。我从工具箱中拖动它,它似乎出现在我的控件内部。但是,XAML视图显示新的按钮实际上属于Canvas,而不是我的控件。
我可以通过手动编辑XAML将其放置在我的控件内部,但我希望设计器也能正常工作。
有趣的是,当我子类化Canvas、Grid或Panel时,设计器按预期工作。然而,这些控件有许多子元素,这不是我需要的。
如何制作一个在设计器中正常工作的单个子控件?