none
clr-namespaceでうまく参照できません RRS feed

  • 質問

  • 同じプロジェクト内の自分で作ったクラスを参照するためにXAMLの定義に以下のようなコードを追加しました。

    <UserControl x:Class="aaa.MyMain"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:local="clr-namespace:aaa"
         >
     ・・・
        <UserControl.Resources>
            <local:TimeToBackgroundConverter x:key="myConverter" />
        </UserControl.Resources>
    ・・・

    しかし、以下のエラーがでて、コンパイルができません。

    エラー    1    IDictionary に追加されるすべてのオブジェクトは、Key 属性またはオブジェクトに関連する別の型のキーを保持している必要があります。 行 8 位置 4.   

    ちなみに、TimeToBackgroundConverterはIValueConverterをImplementしただけの単純な
    クラスです。

    Windows Presentation Foundation Unleashed という本を見ながら試行錯誤しているの
    ですが、サンプルはコンパイルできてます。どこが違うのかわかりません。

    何か設定があるのでしょうか?
    2007年2月15日 0:50

すべての返信

  • 外していたらすいません。

     Diosan さんからの引用
    <local:TimeToBackgroundConverter x:key="myConverter" />

    は、

    <local:TimeToBackgroundConverter x:Key="myConverter" />

    なのではないでしょうか ?

    2007年2月15日 2:20
  • ああ、恥ずかしい。
    key ではなく Key なんですね。
    エラーがなくなりました。ありがとうございました。
    (もっとメッセージをきちんと読まないとと反省しています。)

    何故か、自作クラスはIntelliSenseが効かないんですよね。
    2007年2月15日 2:58