4

他の質問でこのエラー メッセージについて多くの人が質問しているのを見ますが、これを自分で修正するために何が起こっているのかを十分に理解していないようです。WPF UserControl を使用してこのエラーを作成しました

public partial class EnterNewRequest : UserControl

しかし、後で UserControl にメソッドを追加したかったので、継承を使用してそこに貼り付けました (このメソッドをオーバーライドする必要があるため、拡張機能は使用できません)。しかし、今私のユーザーコントロールは動揺しており、xaml で何を変更する必要があるのか​​ わかりません。UserControl 変更ブロックは名前空間 RCO_Manager にあります。これは私のxamlです:

<UserControl x:Class="RCO_Manager.EnterNewRequest"
         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" 
4

1 に答える 1

9

Windows Phone で作業していたときに同じ問題が発生しました。正確な例外を思い出せませんが、XAML は GitHub、ページ コードは ここで、基本ページ コードはここで確認できます(私のものは基本ページであり、基本コントロールではありません)。XAML新しい名前空間を追加し、<UserControl/>宣言を変更する必要がありました:

コードの仮定

namespace RCO_Manager
{
    // Inherits **Base**UserControl, not UserControl
    public partial class EnterNewRequest : BaseUserControl
    {
        // Magic goes here
        ...
    }
}

XAML

<local:BaseUserControl
    xmlns:local="clr-namespace:RCO_Manager"
    x:Class="RCO_Manager.EnterNewRequest"

サイドノート

Baboonによると、 で基本クラスを指定すると、コード ビハインドで指定する必要がないためXAML、コード ビハインドを次のように変更できます。今は確認できませんが、動作するようになったら試してみてください。

public partial class EnterNewRequest // Don't specify BaseUserControl here
{
    ...
于 2012-04-04T12:42:03.393 に答える