自定义WPF Toolkit自动完成框

时间:2014-06-27 12:39:24

标签: wpf autocomplete wpftoolkit

WPF Toolkit库具有Autocompletebox控件。 1.如何在文本框部分的左侧放置一个图标? 2.如何在建议弹出框的边框添加阴影? 更改TextBoxStyle属性不会产生任何结果。

<!-- xmlns:extendedControls="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Input.Toolkit" -->
<extendedControls:AutoCompleteBox>
  <extendedControls:AutoCompleteBox.TextBoxStyle>
    <Style TargetType="TextBox">
        <Setter Property="Padding" Value="20,0,0,0" />
        <Setter Property="Background">
            <Setter.Value>
                <ImageBrush ImageSource="/img.png" Stretch="None" AlignmentX="Left" />
            </Setter.Value>
        </Setter>
    </Style>
  </extendedControls:AutoCompleteBox.TextBoxStyle>
</extendedControls:AutoCompleteBox>

enter image description here

1 个答案:

答案 0 :(得分:0)

Autocompletebox有一个属性:TextBoxStyle,您可以在其中选择文本框的样式。 或者您可以在属性样式中执行此操作:

    <UserControl.Resources>

        <Style TargetType="TextBox" x:Key="TextboxStyle2">
            <Setter Property="MaxLength" Value="74" />
            <Setter Property="Width" Value="300" />
        </Style>

        <Style TargetType="controls:AutoCompleteBox" x:Key="TextBoxStyle">
            <Setter Property="TextBoxStyle" Value="{StaticResource TextboxStyle2}" />
            <Setter Property="IsTextCompletionEnabled" Value="True" />
        </Style>

    </UserControl.Resources>

/*...*/

 <controls:AutoCompleteBox Name="Titre" Style="{StaticResource TextBoxStyle}"/>

但我不知道如何添加阴影。尝试其他属性。 =)

修改: 要改变背景,已经有一些教师了。 how to separate the background image in wpf textbox?

例如:

 <Style TargetType="TextBox" x:Key="TextboxStyle2">
        <Setter Property="MaxLength" Value="74" />
        <Setter Property="Width" Value="300" />
        <Setter Property="Background">
            <Setter.Value>
                <ImageBrush ImageSource="../../../Ressources/Icones/Find_5650.ico" Stretch="None" AlignmentX="Left" AlignmentY="Top" />
            </Setter.Value>
        </Setter>
    </Style>