私はこの些細な質問はしていますが、何も私にとってはうまくいかない:/ viewmodelからデフォルトの選択コンボボックスの値を設定しようとしています。 ViewModelにはデフォルトの選択値を持つWPF MVVM ComboBox
public class ItemFilter
{
public int Id { get; set; }
public string Name { get; set; }
}
:ビューで
public MainViewModel()
{
SelectedItemFilter = ItemFilters[0];
}
public IList<ItemFilter> ItemFilters
{
get
{
IList<ItemFilter> itemFilter = new List<ItemFilter>();
itemFilter.Add(new ItemFilter() { Id = 0, Name = "All" });
itemFilter.Add(new ItemFilter() { Id = 1, Name = "One" });
itemFilter.Add(new ItemFilter() { Id = 2, Name = "Two" });
return itemFilter;
}
}
public ItemFilter SelectedItemFilter
{
get { return _selectedItemFilter; }
set { SetProperty(ref _selectedItemFilter, value); }
}
:私は何をしないのです
<DataGrid x:Name="DataGridItems"
EnableRowVirtualization="True"
ItemsSource="{Binding ItemCollection}">
<DataGrid.Columns>
<DataGridTextColumn Header="Foo" Binding="{Binding Path=SizeComment}" IsReadOnly="True" Width="120">
<DataGridTextColumn.HeaderTemplate>
<DataTemplate>
<ComboBox ItemsSource="{Binding DataContext.ItemFilters, RelativeSource={RelativeSource AncestorType=Window}}"
SelectedItem="{Binding DataContext.SelectedItemFilter, RelativeSource={RelativeSource AncestorType=Window}, Mode=TwoWay}"
DisplayMemberPath="Name" />
</DataTemplate>
</DataGridTextColumn.HeaderTemplate>
</DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
ここでは、コードですか?