为什么GridControl在执行后创建额外的列/空间? DeExtExtUI控件用于Windows演示基础(或WPF)应用程序,并且我正在尝试修复/改进它。p>

为什么GridControl在执行后创建额外的列/空间? DeExtExtUI控件用于Windows演示基础(或WPF)应用程序,并且我正在尝试修复/改进它。p>,wpf,devexpress,gridcontrol,devexpress-windows-ui,devexpress-wpf,Wpf,Devexpress,Gridcontrol,Devexpress Windows Ui,Devexpress Wpf,应用程序中的几个视图包括向用户显示某种数据的网格。网格在设计器中看起来很正常,我所说的正常是指列的数量与所需的相同。然而,在应用程序执行之后,每个视图中的每个网格都会生成一个新的列/空间-空的、不可查找的和无用的 我玩弄了网格的属性,但似乎无法修复它AutoGenerateColumns=“None”是为整个网格设置的,每个列的属性中没有可疑的内容。我尝试查看DevExpress文档,但没有帮助,而且很耗时。他们提到了隐藏/显示内容的工作原理,但没有提到自动生成 我怎样才能防止这种情况发生 在编

应用程序中的几个视图包括向用户显示某种数据的网格。网格在设计器中看起来很正常,我所说的正常是指列的数量与所需的相同。然而,在应用程序执行之后,每个视图中的每个网格都会生成一个新的列/空间-空的、不可查找的和无用的

我玩弄了网格的属性,但似乎无法修复它
AutoGenerateColumns=“None”
是为整个网格设置的,每个列的属性中没有可疑的内容。我尝试查看DevExpress文档,但没有帮助,而且很耗时。他们提到了隐藏/显示内容的工作原理,但没有提到自动生成

我怎样才能防止这种情况发生

在编译器中查看:

执行后查看:

网格XAML:

            <dxg:GridControl x:Name="sessionGrid" SelectedItem="{Binding SelectedSession}" ItemsSource="{Binding Sessions}" AutoGenerateColumns="None" Margin="0,10,0,0" SelectionMode="Row" Grid.Row="2" DesignTimeDataSourceRowCount="15" TouchDown="sessionGrid_TouchDown" MouseDown="sessionGrid_MouseDown" >
            <dxg:GridControl.Columns>
                <dxg:GridColumn x:Name="sessionNameColumn" Header="Name" FieldName="Name" AllowAutoFilter="False" AllowBestFit="True" AllowEditing="False"  AllowConditionalFormattingMenu="False" AllowGrouping="True" AllowMoving="True" MinWidth="5"/>

                <dxg:GridColumn x:Name="sessionTypeColumn" Header="Type" FieldName="Type" AllowAutoFilter="False"  AllowEditing="False"  AllowColumnFiltering="False" AllowConditionalFormattingMenu="False" SortOrder="Ascending" SortIndex="0">
                    <dxg:GridColumn.EditSettings>
                        <dxe:TextEditSettings HorizontalContentAlignment="Left"/>
                    </dxg:GridColumn.EditSettings>
                </dxg:GridColumn>
                <dxg:GridColumn x:Name="sessionToleranceColumn" Header="Tolerance" FieldName="ToleranceFormatted" AllowAutoFilter="False"  AllowEditing="False"  AllowColumnFiltering="False" AllowConditionalFormattingMenu="False"/>
                <dxg:GridColumn x:Name="sessionDateColumn" Header="Date Created" FieldName="DateCreated" AllowAutoFilter="False" AllowColumnFiltering="False" AllowConditionalFormattingMenu="False" AllowEditing="False" RoundDateTimeForColumnFilter="False">
                    <dxg:GridColumn.EditSettings>
                        <dxe:TextEditSettings DisplayFormat="G" />
                    </dxg:GridColumn.EditSettings>
                </dxg:GridColumn>
            </dxg:GridControl.Columns>

            <dxg:GridControl.View>
                <dxg:TableView x:Name="sessionTable" AllowPerPixelScrolling="True" AllowEditing="False" ShowIndicator="False" AutoWidth="True"  AllowColumnMoving="True" AllowResizing="True" AllowSorting="True" IsColumnMenuEnabled="True" EditorShowMode="MouseUpFocused" IndicatorWidth="70" IsGroupFooterMenuEnabled="False" PrintGroupFooters="False" ShowBandsPanel="False" AllowMasterDetail="False" ShowBandsInCustomizationForm="False" AllowColumnFiltering="False" ShowSearchPanelMode="Never" AllowMoveColumnToDropArea="False">
                    <dxg:TableView.ColumnMenuCustomizations>
                        <dxb:RemoveBarItemAndLinkAction ItemName="{x:Static dxg:DefaultColumnMenuItemNamesBase.ColumnChooser}" />
                    </dxg:TableView.ColumnMenuCustomizations>
                </dxg:TableView>
            </dxg:GridControl.View>
        </dxg:GridControl>

这是通过调整和解锁主栅格内gridcontrol的宽度来解决的。但是,我们无法找到问题的确切模式/原因。因此,它是通过反复试验来修复的。

这是通过调整和解锁主网格内gridcontrol的宽度来修复的。但是,我们无法找到问题的确切模式/原因。因此,它是通过反复试验来修复的。

看起来您的最后一列不适合网格宽度,奇怪的事情再次出现,它在设计器中看起来正常,但执行后会发生更改。看起来您的最后一列不适合网格宽度,奇怪的事情再次出现,它在设计器中看起来很正常,但执行后会发生更改。。
        private void sessionGrid_Loaded(object sender, RoutedEventArgs e)
    {     
        foreach (DevExpress.Xpf.Grid.GridColumn gridColumn in sessionGrid.Columns)
        {
        // Do something
        gridColumn.MinWidth = ActualWidth;
        gridColumn.Width = new GridLength(1, GridUnitType.Star);
        }
    }