如何在我的应用程序中使用UserControl而不构建它

时间:2014-05-04 20:55:13

标签: c# wpf xaml

我想使用我在WPF应用程序中找到的用户控件。问题是我不想将它放在用户控件库中并构建它然后引用它。我只是希望能够将文件导入我的项目并从那里使用它。

所以我所做的就是将文件拖到解决方案资源管理器中,并将它们添加好。然后我更改了命名空间以匹配我自己的命名空间,然后尝试将其添加到主窗体xaml(这是我的问题所在。)

它表示未找到“local:Pie”类型。确认您没有错过程序集引用...并且您知道其余部分。

以下是我在xaml上的主要调用方式:

<Grid>
        <local:Pie Value="0" x:Name="pieChart" HorizontalAlignment="Center" Width="400" VerticalAlignment="Center" Margin="10"/>
        <StackPanel  HorizontalAlignment="Left" Margin="30,0,50,0" VerticalAlignment="Center">
            <Slider Orientation="Vertical" Minimum="0" Maximum="1" TickFrequency="0.01" Height="272" ValueChanged="Slider_ValueChanged_1" Value="0" Name="slider"/>            
        </StackPanel>
    </Grid>

以下是添加了应用程序命名空间的控件XAML:

<UserControl x:Class="MyApplicationNAmespace.Pie"
             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="300" d:DesignWidth="300" Loaded="UserControl_Loaded_1" SizeChanged="UserControl_SizeChanged_1">
    <Grid>
        <Ellipse Name="bgCircle"/>
        <Path Name="path" StrokeThickness="1.5" Margin="0"/>
        <Ellipse Name="hole" RenderTransformOrigin="0.5,0.5">
            <Ellipse.RenderTransform>
                <ScaleTransform ScaleX="0.45" ScaleY="0.45"/>
            </Ellipse.RenderTransform>
        </Ellipse>
        <Label Content="Value" HorizontalAlignment="Center" VerticalAlignment="Center" 
               FontFamily="Segoe UI Light" FontSize="38" Name="lblValue"
               VerticalContentAlignment="Center" HorizontalContentAlignment="Center"/>
    </Grid>
</UserControl>

对于控件的代码隐藏,我所改变的是命名空间以匹配我的项目命名空间。

谁能告诉我我做错了什么?谢谢。

0 个答案:

没有答案