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