1

我在我的 WPF 应用程序中使用 WorkflowDesigner 中的 PropertyInspectorView 作为属性网格。

http://img89.imageshack.us/img89/2176/propertygrid.jpg

在这里,我想,

  1. 去掉“清除”按钮

  2. 更改“分类”和“排序 AZ”按钮的图标/背景颜色。

  3. 将这两个按钮移动到搜索文本框的右侧。

  4. 更改颜色(背景、字体、边框)

请让我知道这些事情是否可能?那怎么办?

4

2 回答 2

2

要更改颜色,请使用以下键,

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)
于 2013-05-15T01:18:37.313 回答
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
获取属性检查器工具栏中文本框边框的画笔键。

于 2019-06-06T12:48:35.627 回答