一个自定义的WPF ComboBox模板
来源:互联网 发布:eclipse js提示插件 编辑:程序博客网 时间:2024/04/29 14:52
<ComboBox Name="filterCom" Height="42" SelectedIndex="0" ItemsSource="{Binding SeriesInfos}" SelectionChanged="FilterCom_SelectionChanged"> <ComboBox.Resources> <!--修改选中项的背景色--> <SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="#FF222222"/> <converter:BoolVisibleConverter x:Key="boolVisibleConverter"/> </ComboBox.Resources> <ComboBox.Style> <Style TargetType="{x:Type ComboBox}"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type ComboBox}"> <Grid Background="#FF222222"> <Grid.ColumnDefinitions> <ColumnDefinition Width="Auto"/> <ColumnDefinition Width="*"/> </Grid.ColumnDefinitions> <Image Source="../../Icons/arrow_White.png" Width="8" Margin="8,0" Visibility="{Binding ElementName=filterCom, Path=IsEnabled, Converter={StaticResource boolVisibleConverter}}"/> <!-- ToggleButton 已数据绑定到 ComboBox 本身以切换 IsDropDownOpen --> <ToggleButton Grid.ColumnSpan="2" x:Name="ToggleButton" Focusable="false" IsChecked="{Binding Path=IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}" ClickMode="Press"> <ToggleButton.Template> <ControlTemplate TargetType="{x:Type ToggleButton}"> <Border Background="Transparent"/> </ControlTemplate> </ToggleButton.Template> </ToggleButton> <ContentPresenter Grid.Column="1" x:Name="ContentSite" VerticalAlignment="Center" HorizontalAlignment="Center" Content="{TemplateBinding SelectionBoxItem}" IsHitTestVisible="False" ContentTemplate="{TemplateBinding SelectionBoxItemTemplate}" ContentTemplateSelector="{TemplateBinding ItemTemplateSelector}"/> <!-- 可编辑模式下,将 TextBox 命名为 PART_EditableTextBox,否则 ComboBox 将无法识别它 --> <!--<TextBox Visibility="Hidden" Template="{DynamicResource ComboBoxTextBox}" HorizontalAlignment="Left" Margin="3,3,23,3" x:Name="PART_EditableTextBox" Style="{x:Null}" VerticalAlignment="Center" Focusable="True" Background="Transparent" IsReadOnly="{TemplateBinding IsReadOnly}"/>--> <!-- Popup 可显示 ComboBox 中的项列表。IsOpen 已数据绑定到通过 ComboBoxToggleButton 来切换的 IsDropDownOpen --> <Popup x:Name="Popup" IsOpen="{TemplateBinding IsDropDownOpen}" Placement="Left" Focusable="False" AllowsTransparency="True" PopupAnimation="Fade"> <Border x:Name="DropDown" BorderBrush="LightGray" BorderThickness="1" Background="White" CornerRadius="6" MaxHeight="{TemplateBinding MaxDropDownHeight}" MinWidth="{TemplateBinding ActualWidth}"> <ScrollViewer x:Name="scrViewer" Margin="3,6,3,6" HorizontalScrollBarVisibility="Hidden" VerticalScrollBarVisibility="Hidden" CanContentScroll="True"> <!-- StackPanel 用于显示子级,方法是将 IsItemsHost 设置为 True --> <StackPanel IsItemsHost="True" KeyboardNavigation.DirectionalNavigation="Contained" Width="{Binding ElementName=scrViewer, Path=ActualWidth}" HorizontalAlignment="Center"/> </ScrollViewer> </Border> </Popup> </Grid> </ControlTemplate> </Setter.Value> </Setter> <Setter Property="ItemTemplate"> <Setter.Value> <DataTemplate> <TextBlock Grid.Column="1" Margin="0,5" Text="{Binding SeriesName}" FontSize="15" Foreground="Gray" FontWeight="Bold" TextAlignment="Center" HorizontalAlignment="Center"/> </DataTemplate> </Setter.Value> </Setter> </Style> </ComboBox.Style> </ComboBox>
0 0
- 一个自定义的WPF ComboBox模板
- WPF的ComboBox 数据模板自定义
- WPF 自定义带有数据源的combobox控件
- WPF Combobox的使用
- wpf combobox 的使用
- wpf combobox数据绑定并添加一个额外的选项
- wpf 之ComboBox的用法
- 一个自定义转换器的模板。
- 一个自定义的Topbar模板
- Silverligh 自定义的combobox
- WPF ComboBox
- 一个ComboBox的Bug
- WPF 的COMBOBOX绑定(匿名类)
- WPF combobox 的两种绑定方式
- WPF学习笔记:ComboBox的数据绑定
- 【WPF】两个下拉列表ComboBox的级联
- WPF模板的学习
- 简单的自定义Combobox控件
- nodejs读取FTP服务器--node-ftp
- WPF 后台设置颜色的色号
- Inotify机制
- Node.js的mysql数据库操作
- C# Post提交
- 一个自定义的WPF ComboBox模板
- dubbo服务
- CentOS 7 构建 Openstack docker rally 测试环境
- Gimbal Lock(万向节锁)在 Euler Angles(欧拉角)中的体现
- SpringMvc+Mybatis+Pagehelper分页详解
- tc-srm704-div1-1000 解题报告
- MySQL——InnoDB锁问题(一)
- 发现一个好玩的东东【散漫粒子】【网页背景线条】
- 杂七杂八知识点