小编Pet*_*ast的帖子

如何在wpf的数据网格中获得以编程方式编写的组合框的值?

要关注我之前的帖子=> 在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)

c# xaml datagrid parsing datagridtemplatecolumn

8
推荐指数
1
解决办法
243
查看次数

StackPanel方向在ItemsControl上不完全水平

我有以下问题.我正在使用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)

有任何想法吗 ?

wpf layout xaml itemscontrol stackpanel

1
推荐指数
1
解决办法
1090
查看次数