0

私はこれをかなり徹底的に調査し、これこれ、およびこれを見つけました。私が見つけたすべてのヘルプ ページには、ほとんど同じことが書かれています。それほど複雑ではないので、正しく実行したと確信していますが、背後のファイルがすべて混乱しているか何かになっている可能性があります。次の 3 つのエラーのいずれかが表示され、エラー 1 と 2 のみが実行を妨げます。

エラー 1: 実行時に XAML ファイルがエディターで開かれている場合、そのファイルのみのエラー: The name "Option" does not exist in the namespace "clr-namespace:Addin"

エラー 2: 実行時に XAML ファイルがエディターで開かれていない場合、エラーは次のとおりです。型名 'Option' は型 'Addin.Addin' に存在しません。...すべての g.cs ファイルで。

エラー 3: 1 とまったく同じですが、オブジェクトが異なります。実行すると解決し、エラーは発生せず、想定どおりに正確に動作します。

まるでVSがクラスが存在しないと確信しているようですが、継承が関係する場合にのみ本当に気にかけています。

私は混乱しており、何が間違っているのかについての洞察をいただければ幸いです。また、私は VS 2012 Professional を使用していますが、これが少なくともエラー 3 の原因であると同僚の何人かが考えているようです。

EAC1O1.xaml.cs

namespace Addin
{
    public partial class EAC1O1 : Option
    {
        public EAC1O1()
        {
            InitializeComponent();
        }
    }
}

Option.cs

namespace Addin
{
    public abstract class Option : UserControl
    {

EAC1O1.xaml

<local:Option x:Class="Addin.EAC1O1"
             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:Addin"
             mc:Ignorable="d" >
    <DockPanel>

    </DockPanel>
</local:Option>

EAC1O1.g.cs

namespace Addin{


    /// <summary>
    /// EAC1O1
    /// </summary>
    public partial class EAC1O1 : Addin.Option, System.Windows.Markup.IComponentConnector {
4

2 に答える 2

0

Option基本クラスを抽象化しないようにしてみてください。デザイナーの一部は、XAML タグで使用されているクラスや基本クラスのインスタンスを作成できることに依存しています。

于 2013-07-17T02:12:34.317 に答える