自定义UserControl与数据绑定出错

时间:2012-05-21 15:00:28

标签: c# wpf data-binding user-controls

我有一个基本的UserControl我写的通常有用,但现在我想改进它。原始设计只是Grid,只有FrameworkElements RectangleTextBlockWidth。问题是,为了使其工作,我创建了大量的冗余依赖属性。例如,我不得不使用这些属性设置我的控件的HeightMyControlWidth,而是必须创建一个名为MyControlHeightLabel的新属性,这实际上是蹩脚的。< / p>

我已经开始使用Rectangles重写控件了,我将TextBlockLabel放在ControlTemplate的{​​{1}}内。现在我的问题是虽然HeightWidth似乎工作正常,但我的其他一些依赖属性却没有。

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

  

System.Windows.Data错误:40:BindingExpression路径错误:'object'''MyTestApplication'(Name ='')'上找不到'OutlineRadius'属性。 BindingExpression:路径= OutlineRadius; DataItem ='MyTestApplication'(Name =''); target元素是'Rectangle'(Name =''); target属性是'RadiusX'(类型'Double')

谁能告诉我哪里可能出错了?我还在考虑在我的应用程序中创建一个Label并将其应用到OutlineRadius,但我仍会遇到Style的问题,因为我不知道是否可以使用{{1}}时,向现有控件添加属性。

0 个答案:

没有答案