0
次のスニペットでは、ビューモデルで「Checked」を検索しているバインディングがあります。しかし、それは私のViewModelにはなく、DataGrid ItemsSourceのアイテムにあります。DatagridTemplateColumnチェックボックスバインディングビューモールドのプロパティの検索
<DataGridTemplateColumn>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ContentControl HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch" HorizontalAlignment="Center">
<CheckBox IsChecked="{Binding Checked, UpdateSourceTrigger=PropertyChanged}" />
</ContentControl>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
バインディングにItemsSourceのアイテムを使用させるにはどうすればよいですか? 私はハイとローを検索しましたが、問題を見つけることができない...
編集:DataGridがバインド:
は<DataGrid MaxHeight="250" VerticalScrollBarVisibility="Auto" ItemsSource="{Binding Questions}" CanUserAddRows="False" AutoGenerateColumns="False" Width="Auto">
<DataGrid.Columns>
<DataGridTemplateColumn ..... etc.. above snippet here
...
</DataGridTemplateColumn.....
</DataGrid.Columns>
</DataGrid>
のViewModel:
public class Question
{
public bool Checked { get; set; }
public string Text { get; set; }
/// <summary>
/// Answers to show if the Question is checked
/// </summary>
public List<Answer> Answers { get; set; }
}
public class MyViewModel : ViewModelBase
{
private readonly IEnumerable<Question> _Questions;
/// <summary>
/// Questions for Definition of Done
/// </summary>
public IEnumerable<Question> Questions
{
get
{
return _Questions;
}
}
}
表示するコードをViewModelにしてItemsouce結合のために。 –
QuestionクラスでINotifyPropertyChangedを実装し、DataTemplateでDataType = "{x:Type local:Question}"を指定する必要があります。 –