2010-08-05 82 views
3

我有一个第三方控件(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> 

这似乎并不工作,因为它会产生一个例外。 有人对我如何解决这个问题有任何提示?非常感谢!

回答

2

您可以使用:

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

要导入一个完全合格的命名空间,这是否不适合你的工作?