我有一个函数,获取3个列表中的字符串里面。我已经使用ObservableCollection来保存这3个列表。绑定DataGrid和ObservableCollection在C#
这是的ObservableCollection的定义:
public partial class CreateAreaDialogWindow : System.Windows.Window
{
ObservableCollection<Tuple<string, string, string>> _obsCollection = new ObservableCollection<Tuple<string, string, string>>();
}
与方法,我做了我正在写一些DataGrid的结果添加列表之后。数据网格的定义是这样的:在我有3个栏目与复选框3分不同的列
<DataGrid Grid.Column="0" AutoGenerateColumns="True" Height="206" HorizontalAlignment="Left" Margin="12,265,0,0" Name="tabela" VerticalAlignment="Top" Width="556" SelectionChanged="tabela_SelectionChanged" Grid.RowSpan="2" ItemsSource="Binding _obsCollection">
<DataGrid.Columns>
<DataGridTextColumn Header="Type" Binding="{Binding Item1}"/>
<DataGridTextColumn Header="MapTo" Binding="{Binding Item2}"/>
<DataGridTextColumn Header="Name" Binding="{Binding Item3}"/>
<DataGridCheckBoxColumn Header="Controller"/>
<DataGridCheckBoxColumn Header="Service"/>
<DataGridCheckBoxColumn Header="Injection"/>
</DataGrid.Columns>
</DataGrid>
除了3列出的字符串。问题是我不知道如何以正确的方式进行绑定。 例如,如果我把这个线在我的代码:
tabela.ItemsSource = _obsCollection;
我得到6列,而不是3,当然他们有相同的内容:那些3我从XAML代码获得(在这种情况下结合的作品)和3是从该行:tabela.ItemsSource = _obsCollection;
当我删除:tabela.ItemsSource = _obsCollection;
我收到一个空的表格与复选框。 所以我知道问题出在绑定错误,但有人有一个想法如何编辑此代码,所以我可以删除:tabela.ItemsSource = _obsCollection;
,仍然得到3列与列表内容和列标题:类型,MapTo和名称?
当然也有6列。您在XAML中创建了6列。 – Kcvin
我的意思是9列,其中有6个文字,我只需要3个文字和3个复选框。没有告诉过这个故事:) –