1

我正在使用 Xceed WPF 扩展工具包中的 PropertyGrid。有没有一种方法可以让所有属性默认展开?实际上,我永远不需要它们“未扩展”,所以如果可以禁用“未扩展”(有没有这个词,顺便说一句?),那就更好了。

4

3 回答 3

2

如果您仍在寻找一种方法来做到这一点,我只是自己想出来了。

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.
        }
    }
}
于 2015-12-13T05:12:28.253 回答
0

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

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

您也可以指定

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

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

于 2019-11-10T19:39:39.950 回答
0
_propertyGrid.ExpandAllProperties();
于 2021-12-08T12:18:07.000 回答