プロプログラマ

プログラマーを職業としてます。 Flex,Air,C#,Oracle,HTML+JSの言語ノウハウを中心に情報発信していきます

[WPF] 意味不明エラー その原因は・・・ 「ItemsSource を使用する前に、Items コレクションが空である必要があります。」

WPFでComboboxを継承したコントロールを作成して実行した際に表示されました。

“ItemsSource を使用する前に、Items コレクションが空である必要があります。”

なんか日本語おかしいですよね。

 

原因はItemsSourceなのは間違いなく、

ネットで調べると、xamlとそれ以外の場所でItemsSourceを設定したりすると発生するエラーみたいです。

最初の定義時にエラーになるため、画面遷移ロジックで止まるのが分かりにくい。

 

ItemsSourceはxamlでしか定義していないので、試しにItemsSourceを外して実行してみたら、コンボボックスに1件だけ登録された状態で表示されました。

表示されたのは「>」のみ ???!

怪しいと思って、Comboboxのxamlを見直してみたところ、タグの末尾が”>>“になっている!!

これってコンパイルエラーにならないんですね。
後ろの“>”がItemsSourceとして認識されてしまっていました。これは分かりづらい。

<ComboBox x:Class="Test.Controls.ComboBoxEx"
             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"">>

 

このエラーの原因は大概別の原因だと思いますが、エラーが出たら一度ItemsSource指定を外してみて確認してみてください。

 

 

== ランキングに参加しています。ぜひクリックお願いします ==

プログラム ブログランキングへ
にほんブログ村 IT技術ブログへ
にほんブログ村

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください