前提・実現したいこと
データバインドでDataGridのComboBoxに値をバインドしたいのですが
コンボボックスの中身が空で、なにも表示されません。(エラーは発生していません)
どこかに間違いがあるでしょうか?
よろしくお願いいたします。
該当のソースコード
ViewModel
1 2namespace BlankApp1.ViewModels 3{ 4 public class MainWindowViewModel : BindableBase 5 { 6 public ObservableCollection<GridRow> GridRows { get; set; } = new ObservableCollection<GridRow>(); 7 8 public MainWindowViewModel() 9 { 10 var a = new Parson() { Name = "aaa", Code = 100 }; 11 var b = new Parson() { Name = "bbb", Code = 200 }; 12 13 var col = new ObservableCollection<Parson> 14 { 15 a,b 16 }; 17 18 GridRows.Add(new GridRow() { ComboValue = col }); 19 GridRows.Add(new GridRow() { ComboValue = col }); 20 } 21 } 22 23 public class GridRow 24 { 25 public ObservableCollection<Parson> ComboValue { get; set; } 26 } 27 28 public class Parson 29 { 30 public int Code { get; set; } 31 public string Name { get; set; } 32 } 33}
XAML
1 2<Window 3 x:Class="BlankApp1.Views.MainWindow" 4 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 5 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 6 xmlns:prism="http://prismlibrary.com/" 7 Title="{Binding Title}" 8 Width="525" 9 Height="350" 10 prism:ViewModelLocator.AutoWireViewModel="True"> 11 <DataGrid AutoGenerateColumns="False" ItemsSource="{Binding GridRows}"> 12 <DataGrid.Columns> 13 <DataGridComboBoxColumn 14 DisplayMemberPath="Name" 15 Header="名前" 16 ItemsSource="{Binding ComboValue}" /> 17 </DataGrid.Columns> 18 </DataGrid> 19</Window>
補足情報(FW/ツールのバージョンなど)
.Net Faramework 4.7.2
Prism 7.2
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2019/11/02 13:21