我在我的 WPF 应用程序中使用 WorkflowDesigner 中的 PropertyInspectorView 作为属性网格。
http://img89.imageshack.us/img89/2176/propertygrid.jpg
在这里,我想,
去掉“清除”按钮
更改“分类”和“排序 AZ”按钮的图标/背景颜色。
将这两个按钮移动到搜索文本框的右侧。
更改颜色(背景、字体、边框)
请让我知道这些事情是否可能?那怎么办?
我在我的 WPF 应用程序中使用 WorkflowDesigner 中的 PropertyInspectorView 作为属性网格。
http://img89.imageshack.us/img89/2176/propertygrid.jpg
在这里,我想,
去掉“清除”按钮
更改“分类”和“排序 AZ”按钮的图标/背景颜色。
将这两个按钮移动到搜索文本框的右侧。
更改颜色(背景、字体、边框)
请让我知道这些事情是否可能?那怎么办?
要更改颜色,请使用以下键,
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)
除了@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
获取属性检查器工具栏中文本框边框的画笔键。