我在WorkflowDesigner中使用PropertyInspectorView作为我的WPF应用程序中的属性网格。
http://img89.imageshack.us/img89/2176/propertygrid.jpg
我想要,
删除“清除”按钮
更改“分类”和“排序A-Z”按钮的图标/背景颜色。
将这两个按钮移动到搜索文本框的右侧。
更改颜色(背景,字体,边框)
请告诉我这些事情是否可行?怎么样?
答案 0 :(得分:1)
要更改颜色,请使用以下键
PropertyInspectorBackgroundBrushKey
PropertyInspectorBorderBrushKey
PropertyInspectorCategoryCaptionTextBrushKey
PropertyInspectorPaneBrushKey
PropertyInspectorToolBarBackgroundBrushKey
PropertyInspectorSelectedBackgroundBrushKey
PropertyInspectorSelectedForegroundBrushKey
Dim Designer As New WorkflowDesigner()
Dim rd As String = "<ResourceDictionary
x:Uid='ResourceDictionary_1' xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation'
xmlns:x='http://schemas.microsoft.com/winfx/2006/xaml'
xmlns:sap='clr-namespace:System.Activities.Presentation;assembly=System.Activities.Presentation'
xmlns:sapv ='clr-namespace:System.Activities.Presentation.View;assembly=System.Activities.Presentation'>
<SolidColorBrush x:Uid='SolidColorBrush_01' x:Key='{x:Static sap: WorkflowDesignerColors.PropertyInspectorBackgroundBrushKey}' Color='Red'/>
</ResourceDictionary>"
Dim reader As New StringReader(rd)
Dim xmlReader As XmlReader = XmlReader.Create(reader)
Dim fontAndColorDictionary As ResourceDictionary = DirectCast(System.Windows.Markup.XamlReader.Load(xmlReader), ResourceDictionary)
Dim hashTable As New Hashtable()
For Each key As String In fontAndColorDictionary.Keys
hashTable.Add(key, fontAndColorDictionary(key))
Next
Designer.PropertyInspectorFontAndColorData = XamlServices.Save(hashTable)
答案 1 :(得分:0)
除了@Sugath的答案外,还有更多键可以设置。有关更多信息,请参阅https://docs.microsoft.com/en-us/dotnet/api/system.activities.presentation.workflowdesignercolors?view=netframework-4.8。
此外,还有一种更简单的方法来创建哈希表:
Hashtable hashTable = new Hashtable
{
{ WorkflowDesignerColors.PropertyInspectorBackgroundBrushKey, backgroundLightBrush },
{ WorkflowDesignerColors.PropertyInspectorTextBrushKey, textBrush },
{ WorkflowDesignerColors.PropertyInspectorCategoryCaptionTextBrushKey, textBrush },
{ WorkflowDesignerColors.PropertyInspectorPaneBrushKey, backgroundDarkBrush },
{ WorkflowDesignerColors.PropertyInspectorToolBarBackgroundBrushKey, backgroundDarkBrush },
{ WorkflowDesignerColors.PropertyInspectorSelectedBackgroundBrushKey, backgroundLightBrush },
{ WorkflowDesignerColors.PropertyInspectorSelectedForegroundBrushKey, textBrush },
};
_Designer.PropertyInspectorFontAndColorData = System.Xaml.XamlServices.Save(hashTable);
其他键:
PropertyInspectorBackgroundBrushKey 获取属性检查器背景的画笔键。
PropertyInspectorBorderBrushKey 获取属性检查器边框的画笔键。
PropertyInspectorCategoryCaptionTextBrushKey
在属性检查器中获取类别标题文本的画笔键。
PropertyInspectorPaneBrushKey
获取属性检查器窗格的画笔键。
PropertyInspectorPopupBrushKey
获取属性检查器弹出窗口的画笔键。
PropertyInspectorSelectedBackgroundBrushKey 获取属性检查器中所选背景的画笔键。
PropertyInspectorSelectedForegroundBrushKey 获取属性检查器中选定前景的画笔键。
PropertyInspectorTextBrushKey
获取属性检查器文本的画笔键。
PropertyInspectorToolBarBackgroundBrushKey
在属性检查器中获取工具栏背景的画笔键。
PropertyInspectorToolBarItemHoverBackgroundBrushKey 在属性检查器工具栏中获取悬停项目背景的画笔键。
PropertyInspectorToolBarItemHoverBorderBrushKey 在属性检查器工具栏中获取悬停项边框的笔刷键。
PropertyInspectorToolBarItemSelectedBackgroundBrushKey
在属性检查器工具栏中获取所选项目背景的画笔键。
PropertyInspectorToolBarItemSelectedBorderBrushKey
获取属性检查器工具栏中所选项目边框的画笔键。
PropertyInspectorToolBarSeparatorBrushKey
在属性检查器工具栏中获取分隔符的画笔键。
PropertyInspectorToolBarTextBoxBorderBrushKey
获取属性检查器工具栏中文本框边框的画笔键。