2012-01-06 11 views
0

グリッド内の項目のリストを(リストボックス内に)表示したいが、表示する項目がない場合は、リストボックス。このための最善の方法は、リストボックスまたは画像を表示する天気を決定するデータプレートを作成することです。ListBoxにWindows Phone 7の要素が含まれていないときの画像を表示

コード内の画像またはリストボックスの表示を設定しないようにしたいと思います。

これはできますか?あるいは、避けたかった方法を使わなければならない。

答えて

1

あなたはMVVMを使用する場合は、プロパティIsEmptyListVisibilityを追加し、それが表示されたときに制御すること、あなたのイメージVisibilityプロパティにバインドすることができます:

Visibility IsEmptyListVisibility 
{ 
     get 
     { 
      return (list.Count == 0) ? Visibility.Visible : Visibility.Collapsed; 
     } 
} 

をまた、сollectionが一貫

にすべてを保つために変更されたとき NotifyPropertyChangedを呼び出します
ObservableCollection<...> list 
{ 
     get { return _list; } 
     set 
     { 
      _list = value; 
      list.OnCollectionChanged += (s, e) => 
      { 
       NotifyPropertyChanged("IsEmptyListVisibility"); 
      } 
     } 
} 
+0

はい私はこれを知っていますが、可能ならばこれを避けたいと思います。しかし、もっとうまくいくものがなければ、私はこれを使用します。ありがとう、;) –

+0

あなたは '可視性 'をboolに変更し、好きな場合は' Converters'を使うことができますが、空のリストの場合は要素の可視性を扱う標準的な仕組みはありません。 – Ku6opr

関連する問題