要关注我之前的帖子=> 在DataGrid中使用不同类型绑定ComboBox的SelectedItem
我现在有一个包含2列的数据网格,一个带有文本,另一个带有组合框(在数据模板中,通过C#代码编写,而不是Xaml).
在对组合框做了一些选择之后,我现在想解析结果,但是包含我的组合框的单元格的值保持为空:
foreach(DataRowView row in Datagrid1.Items)
{
var firstColumNresult = row.Row.ItemArray[0];// Return correctly a string
var myrow = row.Row.ItemArray[1];// always empty...
}
Run Code Online (Sandbox Code Playgroud)
结果是我无法获得我(之前生成的)组合框的值.
我想一个绑定必须错过某个地方......
这是组合框创建代码:
DataTable tableForDG = new DataTable();
tableForDG.Columns.Add(new DataColumn { ColumnName = "Name", Caption = "Name" });
tableForDG.Columns.Add(new DataColumn { ColumnName = "Attachment", Caption = "Attachment" }); // this column will be replaced
tableForDG.Columns.Add(new DataColumn { ColumnName = "AttachmentValue", Caption = "AttachmentValue" });
tableForDG.Columns.Add(new DataColumn { ColumnName = "DisplayCombo", Caption = "DisplayCombo", DataType=bool });
// …Run Code Online (Sandbox Code Playgroud) 我有以下问题.我正在使用Items控件,我不明白为什么我的结果是在几行而不是在一行上.这是我的代码:
<StackPanel Orientation="Horizontal" Margin="10,10,10,10">
<ItemsControl ItemsSource="{Binding Countries}" >
<ItemsControl.ItemTemplate>
<DataTemplate x:Name="TabCountries" >
<StackPanel Orientation="Horizontal">
<TextBlock Name="Country" Text="{Binding nom}" Style="{StaticResource whiteFontColor}" VerticalAlignment="Center" Margin="0,0,5,0"/>
<CheckBox Margin="0,0,5,0" Name="isCountryAllowed" IsChecked="{Binding isAllowed}" />
</StackPanel>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</StackPanel>
Run Code Online (Sandbox Code Playgroud)
结果是这样的:
FR
BE
AN
Run Code Online (Sandbox Code Playgroud)
而不是那样:
FR BE AN ...
Run Code Online (Sandbox Code Playgroud)
有任何想法吗 ?