[英]WPF GridView Column Binding issue
我有以下運行良好的GridView控件:
<DataGrid IsReadOnly="true"
ItemsSource="{Binding CiList}"
AutoGenerateColumns="True"
SelectedItem="{Binding Path=CI}" />
如果我設置AutoGenerateColumns="False"
並手動添加DataGridTextColumn,如下所示:
<DataGrid IsReadOnly="true"
ItemsSource="{Binding CiList}"
AutoGenerateColumns="False"
AlternatingRowBackground="Gainsboro"
AlternationCount="2"
Height="150"
SelectedItem="{Binding Path=CI}">
<DataGridTextColumn Header="Name"
Binding="{Binding Path=Name}" />
</DataGrid>
我收到InvalidOperationException“在使用ItemsSource之前,Items集合必須為空。”
我做錯了什么? 謝謝!
編輯:我正在使用MVVM模式,並且窗口的DataContext是我的ViewModel,其中CiList是其屬性。
您需要在DataGrid.Columns
定義您的列
<DataGrid IsReadOnly="true" ItemsSource="{Binding CiList}" AutoGenerateColumns="False" AlternatingRowBackground="Gainsboro" AlternationCount="2" Height="150" SelectedItem="{Binding Path=CI}">
<DataGrid.Columns>
<DataGridTextColumn Header="Name" Binding="{Binding Path=Name}" />
</DataGrid.Columns>
</DataGrid>
您需要將Columns標簽添加到網格
<DataGrid..>
<DataGrid.Columns>
<DataGridTextColumn Header="Name" Binding="{Binding Path=Name}" />
</DataGridColumns>
...
將列放在DataGrid.Columns中,如下所示:
<DataGrid IsReadOnly="true" ItemsSource="{Binding CiList}" AutoGenerateColumns="False" AlternatingRowBackground="Gainsboro" AlternationCount="2" Height="150" SelectedItem="{Binding Path=CI}">
<DataGrid.Columns>
<DataGridTextColumn Header="Name" Binding="{Binding Path=Name}" />
</DataGrid.Columns>
</DataGrid>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.