簡體   English   中英

不能在 xaml WPF 中使用來自其他項目的控制

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM