WPF扩展工具包PropertyGrid-默认情况下展开所有属性

本文关键字:属性 情况下 扩展 工具包 PropertyGrid- 默认 WPF | 更新日期: 2023-09-27 18:20:50

我正在使用Xceed WPF扩展工具包中的PropertyGrid。有没有一种方法可以在默认情况下扩展所有属性?事实上,我永远不需要它们是"未扩展的",所以如果"未扩展"(有没有这个词,BTW?)可以被禁用,那就更好了。

WPF扩展工具包PropertyGrid-默认情况下展开所有属性

如果你仍在寻找实现这一点的方法,我只是自己想好了。

private void PropertyGrid_SelectedObjectChanged(object sender, RoutedPropertyChangedEventArgs<object> e)
{
    var grid = sender as PropertyGrid;
    foreach (PropertyItem prop in grid.Properties)
    {
        if (prop.IsExpandable) //Only expand things marked as Expandable, otherwise it will expand everything possible, such as strings, which you probably don't want.
        {
            prop.IsExpanded = true; //This will expand the property.
            prop.IsExpandable = false; //This will remove the ability to toggle the expanded state.
        }
    }
}

如果您设置IsCategorized="False",您将看到默认情况下扩展的所有属性:

<xceed:PropertyGrid IsCategorized="False" SelectedObject="{Binding}"/>

也可以指定

ShowPreview="False" ShowSearchBox="False" ShowSortOptions="False"
ShowSummary="False" ShowTitle="False" ShowAdvancedOptions="False"

禁用主属性编辑器网格以外的所有其他部分。

_propertyGrid.ExpandAllProperties();
相关文章: