欺骗Usercontrol以允许“。”命名空间

时间:2010-08-05 03:36:07

标签: c# wpf controls

我有第三方控件(Visifire),它有一个使用“。”的命名空间。格式。这在WPF应用程序中工作正常,但在UserControl中没有,因为如果您尝试包含命名空间,它会生成“无法找到程序集”。这意味着我必须使用代码来添加控件,设置绑定等等,这非常烦人,因为我更喜欢使用XAML。 我的想法是使用以下方法欺骗UserControl:

namespace MyControl
{
  public class MyChart : Visifire.Charts.Chart
  {
     public MyChart () : base() {}
  }

  public partial Chart : UserControl
  {
    // All the control stuff goes here
  }
}

然后,在XAML中,我会使用:

xmlns:local="clr-namespace:MyControl"

<Grid>
    <local:MyChart>
    </local:MyChart>
</Grid>

这似乎不起作用,因为它会产生异常。 任何人都有关于如何解决这个问题的任何提示?谢谢!

1 个答案:

答案 0 :(得分:2)

您可以使用:

<Grid xmlns:charts="clr-namespace:Visifire.Charts;assembly=Visifire">
    <charts:Chart>...</charts:Chart>
</Grid>

要导入完全限定的命名空间,这对您不起作用吗?