私はこのMVVMのものを見ていますが、問題に直面しています。
状況は非常に単純です。
index.xaml ページに次のコードがあります。
<Grid>
<ItemsControl ItemsSource="{Binding}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<view:MovieView ></view:MovieView>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</Grid>
そして私のindex.xaml.csで
...
InitializeComponent(); base.DataContext = new MovieViewModel(ent.Movies.ToList()); ....
ここに私のMoveViewModelがあります
public class MovieViewModel
{
readonly List<Movies> _m;
public ICommand TestCommand { get; set; }
public MovieViewModel(List<Movies> m)
{
this.TestCommand = new TestCommand(this);
_m = m;
}
public List<Movies> lm
{
get
{
return _m;
}
}
}
最後に
ここに私のコントロールxaml MovieViewがあります
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"></ColumnDefinition>
<ColumnDefinition Width="Auto"></ColumnDefinition>
</Grid.ColumnDefinitions>
<Label VerticalAlignment="Center" Grid.Row="0" Grid.Column="0">Title :</Label><TextBlock VerticalAlignment="Center" Grid.Row="0" Grid.Column="1" Text="{Binding Title}"></TextBlock>
<Label VerticalAlignment="Center" Grid.Row="1" Grid.Column="0">Director :</Label><TextBlock VerticalAlignment="Center" Grid.Row="1" Grid.Column="1" Text="{Binding Director}"></TextBlock>
<Button Grid.Row="2" Height="20" Command="{Binding Path=TestCommand}" Content="Edit" Margin="0,4,5,4" VerticalAlignment="Stretch" FontSize="10"/>
</Grid>
したがって、私が抱えている問題は、ItemsSource を Binding に設定した場合です。
それは何もしません
ItemsSource="{Binding lm}" を設定した場合
それは私のitemsControlに値を設定しますが、コマンド(Command="{Binding Path=TestCommand}")は機能しません。
もちろん、TestCommand は私のエンティティ オブジェクト Movies に属していないため、機能しません。
最後に私の質問は、
ItemsControl を機能させるには何を渡す必要がありますか?
事前にThx