Visual Studio VS WPF设计器:如何将控件从引用项目添加到主项目中的窗体

qyyhg6bp  于 2023-02-09  发布在  其他
关注(0)|答案(3)|浏览(256)

我在VisualStudio 2015社区中有一个非常简单的两个项目的解决方案:一个项目是WPF应用程序;另一个是类库。我在主项目中添加了一个项目引用到类库中。类库包含一个名为TestControl的WPF UserControl,其XAML如下:

<UserControl x:Class="SomeControls.TestControl"
             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:local="clr-namespace:SomeControls"
             mc:Ignorable="d" 
             d:DesignHeight="300" d:DesignWidth="300">
    <Grid>
        <Button x:Name="button" Content="Button" HorizontalAlignment="Left" Margin="38,29,0,0" VerticalAlignment="Top" Width="75"/>
        <CheckBox x:Name="checkBox" Content="CheckBox" HorizontalAlignment="Left" Margin="163,40,0,0" VerticalAlignment="Top"/>
        <TextBlock x:Name="textBlock" HorizontalAlignment="Left" Margin="83,102,0,0" TextWrapping="Wrap" Text="TextBlock" VerticalAlignment="Top" Height="121" Width="164"/>

    </Grid>
</UserControl>

它只包含标准WPF控件。
类库项目生成成功,当我在WPF应用程序项目中打开主窗口的WPF设计器时,类库中的TestControl控件出现在“工具箱”中。但当我从“工具箱”中选择该控件并尝试向主窗口添加示例时,出现一个对话框,其中显示:
以下参考已添加到项目中:
SomeControls,版本=1.0.0.0,区域性=非特定,公钥标记=空
若要使用新引用中的类型,请按“确定”重新启动XAML设计器。XAML设计器重新启动后,在画板上重新创建控件。
当我单击“确定”时,没有任何更改,如果我尝试再次添加控件,我会得到相同的错误对话框。我尝试过关闭并重新打开XAML文件以及关闭并重新打开Visual Studio。
为什么Visual Studio不允许我通过设计器添加引用项目中的控件?
下面是显示我的设置和对话框的屏幕截图:

nlejzf6q

nlejzf6q1#

清除当前与自定义控件相关的所有内容。直接将DLL拖到工具箱中,无需单独添加引用。此拖动操作将使您所需的内容全部完成。它将自动添加DLL作为引用,并添加xmlns命名空间和程序集名称。
我用你的代码测试过了,它很好用。

xoshrz7s

xoshrz7s2#

Gmap.net Error in WPF
清除引用和工具箱中与DLL相关的所有内容。关闭VS,然后:
1.查找您的dll文件(通过windows资源管理器等)
1.右键单击它
1.选择属性
1.单击"解除阻止"按钮,然后应用并确定。

5tmbdcev

5tmbdcev3#

1.选择“引用”中的“SomeControls”,并将“复制本地”设置为true。
2.然后构建“wpfApplication1”

相关问题