[英]Can't use control from other project in xaml WPF
我想使用另一个 class 的控件
xmlns:control="clr-namespace:Devices;assembly=Devices"
<Grid>
<control:D_main VerticalContentAlignment="Stretch" HorizontalContentAlignment="Stretch"/>
</Grid>
而这个控制
<UserControl x:Class="Devices.D_main"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:Devices"
mc:Ignorable="d"
Height="704.667" Width="1173.833">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="611*"/>
<ColumnDefinition Width="563*"/>
</Grid.ColumnDefinitions>
<local:DHControl x:Name="HControl" Width="Auto" Height="Auto" Grid.ColumnSpan="2"/>
</Grid>
class 是公开的。 我可以以这种方式使用所有其他控件,但是这样我看到了一个错误。
例外:无法创建“D_main”的实例。
堆栈跟踪:
在 Microsoft.VisualStudio.DesignTools.Designer.InstanceBuilders.ClrObjectInstanceBuilder.InstantiateTargetType(ILocalInstanceBuilderContext context, ViewNode viewNode) 在 Microsoft.VisualStudio.DesignTools.InstantiateTargetType(类型类型,Boolean supportInternal) .InstanceBuilders.ClrObjectInstanceBuilder.Instantiate(ILocalInstanceBuilderContext context, ViewNode viewNode) at Microsoft.VisualStudio.DesignTools.WpfDesigner.InstanceBuilders.FrameworkElementInstanceBuilder.Instantiate(ILocalInstanceBuilderContext context, ViewNode viewNode) at Microsoft.VisualStudio.DesignTools.WpfDesigner.InstanceBuilders.UserControlInstanceBuilder.Instantiate(ILocalInstanceBuilderContext上下文,ViewNode viewNode) 在 Microsoft.VisualStudio.DesignTools.Designer.InstanceBuilders.LocalInstanceManager.CreateInstance(IInstanceBuilder builder, ViewNode viewNode)
当我在构建之前通过控制 hover 时,我看到一条消息:
指数数组的边界之外。
您的问题和您附加的代码有点不清楚。 我可以给你一个例子。 如果您有这样的 class (UserControl):
<UserControl x:Class="myProject.newUC"
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"
mc:Ignorable="d"
d:DesignHeight="200" d:DesignWidth="200">
<Grid Background="Red">
</Grid>
</UserControl>
您可以在 window 中使用此 class,如下所示:
<Window x:Class="myProject.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-myProject"
Title="MainWindow" Height="350" Width="525">
<Grid>
<Grid.RowDefinitions>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
</Grid.RowDefinitions>
<local:newUC></local:newUC>
</Grid>
</Window>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.