ComboBox控件属性
IsTextSearchEnabled="True":自动补充数据
IsTextSearchCaseSensitive = true;
自动补充数据
,区分大小写
IsDropDownOpen="True":combobox 自动打开下拉框
IsEditable就是启用或禁用 ComboBox 的文本框中的文本编辑,让combobox可以输入内容
IsTextSearchEnabled="False"支持下拉列表的搜索过滤功能
SelectedIndex = 0;//设置默认显示的item索引
MaxDropDownHeight="250" 最大下拉框高度,无法显示的的部分,会出现滚动条。
ComboBox附加事件
<ComBox Width="100" Name="SFRName" IsEditable="True" IsTextSearchEnabled = "true" TextBoxBase.TextChanged="SFRName_TextChanged"/>
当IsEditable设置为true时,ComboBox使用TextBox来显示和编辑文本。 TextBox的TextChanged事件是一个冒泡事件-表示它将在元素树中冒泡,因此我们可以在ComboBox本身上进行处理。
ComboBox本身不公开TextChanged事件,可以使用附加事件为其定义处理程序,因此,使用TextBoxBase.TextChanged语法.
另外IsTextSearchEnabled属性可以实现查询.
combobox 输入内容自动打开下拉列表框
popup StaysOpen="False"
其他知识点
BitmapImage 是位图,主要用于支持可扩展应用程序标记语言 (XAML) 语法
给下拉框添加阴影效果
引入命名空间:xmlns:theme="clr-namespace:Microsoft.Windows.Themes;assembly=PresentationFramework.Aero2"
给控件添加引用,这个性能比较好。
例如给Combobox下拉框添加引用效果
阴影样式一
<--! 其他代码--> <Popup x:Name="PART_Popup" AllowsTransparency="true" Grid.ColumnSpan="2" IsOpen="{Binding IsDropDownOpen, RelativeSource={RelativeSource TemplatedParent}}" Placement="Bottom" PopupAnimation="{DynamicResource {x:Static SystemParameters.ComboBoxPopupAnimationKey}}"> <theme:SystemDropShadowChrome x:Name="shadow" Color="Transparent" RenderTransformOrigin ="5,5" CornerRadius="4" MinWidth="{Binding ActualWidth, ElementName=templateRoot}" MaxHeight="{TemplateBinding MaxDropDownHeight}"> <--! Margin="10,10,0,0" 这个是重点,显示左边和上边的阴影,默认左下角就有阴影--> <Border x:Name="dropDownBorder" Margin="10,10,0,0" CornerRadius="4" Padding="10" Background="{DynamicResource {x:Static SystemColors.WindowBrushKey}}" BorderBrush="{DynamicResource {x:Static SystemColors.WindowFrameBrushKey}}" > <ScrollViewer x:Name="DropDownScrollViewer"> <Grid x:Name="grid" RenderOptions.ClearTypeHint="Enabled"> <Canvas x:Name="canvas" HorizontalAlignment="Left" Height="0" VerticalAlignment="Top" Width="0"> <Rectangle x:Name="opaqueRect" Fill="{Binding Background, ElementName=dropDownBorder}" Height="{Binding ActualHeight, ElementName=dropDownBorder}" Width="{Binding ActualWidth, ElementName=dropDownBorder}"/> </Canvas> <ItemsPresenter x:Name="ItemsPresenter" KeyboardNavigation.DirectionalNavigation="Contained" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/> </Grid> </ScrollViewer> </Border> </theme:SystemDropShadowChrome> </Popup> <--! 其他代码-->
效果如下:
阴影样式二
Margin="8,8,-2,-2" 这个是重点 控制阴影,显示左边和上边的阴影,调整左下角的阴影。
<--! 其他代码--> <Popup x:Name="PART_Popup" AllowsTransparency="true" Grid.ColumnSpan="2" IsOpen="{Binding IsDropDownOpen, RelativeSource={RelativeSource TemplatedParent}}" Placement="Bottom" PopupAnimation="{DynamicResource {x:Static SystemParameters.ComboBoxPopupAnimationKey}}"> <theme:SystemDropShadowChrome x:Name="shadow" Color="Transparent" RenderTransformOrigin ="5,5" CornerRadius="4" MinWidth="{Binding ActualWidth, ElementName=templateRoot}" MaxHeight="{TemplateBinding MaxDropDownHeight}"> <--! Margin="8,8,-2,-2" 这个是重点 控制阴影,显示左边和上边的阴影,调整左下角的阴影--> <Border x:Name="dropDownBorder" Margin="8,8,-2,-2" CornerRadius="4" Padding="10" Background="{DynamicResource {x:Static SystemColors.WindowBrushKey}}" BorderBrush="{DynamicResource {x:Static SystemColors.WindowFrameBrushKey}}" > <ScrollViewer x:Name="DropDownScrollViewer"> <Grid x:Name="grid" RenderOptions.ClearTypeHint="Enabled"> <Canvas x:Name="canvas" HorizontalAlignment="Left" Height="0" VerticalAlignment="Top" Width="0"> <Rectangle x:Name="opaqueRect" Fill="{Binding Background, ElementName=dropDownBorder}" Height="{Binding ActualHeight, ElementName=dropDownBorder}" Width="{Binding ActualWidth, ElementName=dropDownBorder}"/> </Canvas> <ItemsPresenter x:Name="ItemsPresenter" KeyboardNavigation.DirectionalNavigation="Contained" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/> </Grid> </ScrollViewer> </Border> </theme:SystemDropShadowChrome> </Popup> <--! 其他代码-->
标签:控件,combobox,阴影,ComboBox,WPF,下拉框,IsTextSearchEnabled From: https://www.cnblogs.com/cdaniu/p/16901913.html