当使用控件库中的控件引用来自另一个库的控件时,异常“无法查找类型”

时间:2011-09-09 03:27:02

标签: wpf

我在ControlLibrary中定义的UserControl中使用WPFToolkit库中的DatePicker。

如果我从另一个应用程序使用我的UserControl,我会收到一个ApplicationException:“找不到类型'Microsoft.Windows.Controls.DatePicker'。编译时使用的程序集可能与加载时使用的程序集不同,但缺少类型。”

如果我从引用我的UserControl的Application中添加对WPFToolkit库的程序集引用,我可以避免此异常。有没有办法在不必在我的应用程序中引用WPFToolkit程序集的情况下执行此操作?

这是我的UserControl的xaml:

<UserControl x:Class="View.DateRangeView"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
             xmlns:toolkit="clr-namespace:Microsoft.Windows.Controls;assembly=WPFToolkit"
             mc:Ignorable="d" 
             d:DesignHeight="50" d:DesignWidth="300">
    <UserControl.Resources>
        <ResourceDictionary Source="/ReuxablesLegacy;component/candy.xaml" />
    </UserControl.Resources>
    <Grid VerticalAlignment="Top">
        <Grid.ColumnDefinitions>
            <ColumnDefinition />
            <ColumnDefinition Width="Auto" SharedSizeGroup="enable" />
        </Grid.ColumnDefinitions> 

        <StackPanel Orientation="Horizontal" >
            <toolkit:DatePicker Margin="3" SelectedDate="{Binding Path=LowRange}" Width="100" />
            <TextBlock Text=" To " Margin="3" VerticalAlignment="Center" />
            <toolkit:DatePicker Margin="3" SelectedDate="{Binding Path=HighRange}" Width="100" />
        </StackPanel>
        <CheckBox Grid.Column="1" Content="Enable" Margin="3" VerticalAlignment="Center" IsChecked="{Binding Path=Enabled}" />
    </Grid>
</UserControl>

1 个答案:

答案 0 :(得分:1)

您必须向程序集添加对程序集和第三方程序集的引用。