Command を ViewModel (私の Window の DataContext) にバインドしItemsSource
たまま、 toを追加しようとしています。MenuItem
これまでのところ、私はそれを機能させる方法を考え出していません。ItemsSource が追加される前は、バインディングは問題ありません。バインドしようとしているコレクションは、StaticResource
. 誰でもこれで私を助けることができますか?
<MenuItem Command="{Binding OpenTeamPage}"
DisplayMemberPath="Name"
Header="Teams"
ItemsSource="{Binding Teams,
Source={StaticResource Container}}" />
私はこれとそのバリエーションを使ってみましたが、うまくいきませんでした:
Command="{Binding OpenTeamPage,
RelativeSource={RelativeSource AncestorType=Window},
Mode=Default}"
Command を ViewModel にバインドしながら、この ItemsSource を使用する方法を誰かに教えていただければ、非常にありがたいです。コマンドをチームモデルに入れることもできると思いますが、可能であれば避けたいと思います。
編集:私の問題を明確にするために、ItemsSource を配置すると、ViewModel のコマンドはまったく起動しません。ItemsSource がないと、コマンドが起動します。ItemsSource を持っていても、コマンドを実行できるようにしたいと考えています。
編集:
public class GameContainer
{
static GameContainer()
{
Teams = new ObservableCollection<Team>();
}
public static ObservableCollection<Team> Teams { get; set; }
}
App.xaml で:
<data:GameContainer x:Key="Container" />
プログラムが開始されると、コレクションが設定されます。
これが機能するようになったら、できれば CommandParameter を介して、選択したチームを Viewmodel に渡し、選択したチームに関する情報を表示することが私の目標です。
編集:元の投稿で間違っていました。Viewmodel からのバインドされたコレクションも機能しません。