2015-10-15 96 views
3

我想弄清楚如何改变AvalonEdit CodeCompletion窗口的样式。但是,我无法弄清楚xaml样式目标/属性的正确组合来改变它。我想要做的主要事情是摆脱边界,但也许还有一些额外的变化。如何更改AvalonEdit CodeCompletion窗口上的样式?

这是我试过的xaml。它没有影响用户界面。

xmlns:ae="clr-namespace:ICSharpCode.AvalonEdit.CodeCompletion;assembly=ICSharpCode.AvalonEdit" 

    <Style TargetType="{x:Type ae:CompletionWindow}"> 
     <Setter Property="WindowStyle" Value="None" /> 
    </Style> 
    <Style TargetType="{x:Type ae:CompletionWindowBase}"> 
     <Setter Property="WindowStyle" Value="None" /> 
    </Style> 
    <Style TargetType="{x:Type ae:CompletionListBox}"> 
     <Setter Property="Background" Value="Red" /> 
    </Style> 
    <Style TargetType="{x:Type ae:CompletionList}"> 
     <Setter Property="Background" Value="Orange" /> 
    </Style> 

回答

-2

要使风格影响的用户界面,你可以把它们放在一个资源字典XAML和解析与(ResourceDictionary)XamlReader.Parse(ResourcesAsXaml)。 然后将ResourceDictionary分配给CompletionWindowResources属性。

+0

如何是不是直接把资源在XAML文件中或在App.xaml文件有什么不同? –

+0

有不同的方法来实现效果,App.xaml也可以。 –

+0

@MichaelRätzel你至少试过了你的解决方案吗? –

1

使用这种风格,以消除窗口边框:

<Style TargetType="{x:Type avalonEdit:CompletionWindow}"> 
    <Setter Property="WindowStyle" Value="None"></Setter> 
    <Setter Property="ResizeMode" Value="NoResize"></Setter> 
    <Setter Property="BorderThickness" Value="0"></Setter> 
</Style>