2015-10-15 82 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>