0

我有一个UserControl我写的基本可以正常工作,但现在我想改进它。最初的设计只是一个Grid带有几个FrameworkElements,like Rectangleand的TextBlock。问题是为了让它工作,我创建了大量冗余的依赖属性。例如,我没有使用这些属性设置控件的Widthand ,而是创建了名为and的新控件,这真的很糟糕。HeightMyControlWidthMyControlHeight

我已经开始使用 a 重写控件Label,并将我的RectanglesandTextBlock放在Label'sControlTemplate中。现在我的问题是,虽然Height看起来Width工作正常,但我的其他一些依赖属性却没有。

例如,我希望我的控件具有用户指定的圆角,因此我创建了一个名为的依赖属性,并OutlineRadius使用它来设置. 好吧,现在当我运行我的应用程序时,我收到一个数据绑定错误,上面写着:RadiusXRadiusYRectangle

System.Windows.Data 错误:40:BindingExpression 路径错误:在“对象”“MyTestApplication”(名称=“”)上找不到“OutlineRadius”属性。绑定表达式:路径=轮廓半径;DataItem='MyTestApplication'(名称='');目标元素是'矩形'(名称='');目标属性是“RadiusX”(类型“双”)

谁能告诉我哪里可能出错了,在这里?我也在考虑在我的应用程序中创建 aStyle并将其应用于Labels ,但我仍然会遇到问题,OutlineRadius因为我不知道在使用Style's 时是否可以向现有控件添加属性。

4

0 回答 0