D20_11_ComboBox控件 listbox

<Window x:Class="demo.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:db="clr-namespace:StoreDatabase;assembly=StoreDatabase"
        xmlns:local="clr-namespace:demo"
        Title="WrappedList" Height="308" Width="383"
    >
    <Window.Resources>
        <local:ImagePathConverter x:Key="ImagePathConverter"></local:ImagePathConverter>
           <!--数据模板-->
        <DataTemplate x:Key="ItemTemplate">
            <Grid >
                <Grid.ColumnDefinitions>
                    <!--每一个列表项的宽度都一样-->
                    <ColumnDefinition SharedSizeGroup="SingleWidthColumn"></ColumnDefinition>
                </Grid.ColumnDefinitions>
                <Grid.Style>
                    <Style>
                        <Setter Property="TextBlock.Foreground" Value="red"></Setter>
                    </Style>
                </Grid.Style>
                <Border Margin="5" BorderThickness="10" BorderBrush="Green"
                     CornerRadius="4">
                    <StackPanel Margin="3">

                        <TextBlock Text="{Binding Path=ModelName}" HorizontalAlignment="Center"></TextBlock>

                        <Image Source="{Binding Path=ProductImagePath, Converter={StaticResource ImagePathConverter}}"
                     Width="80"
                     ></Image>
                    </StackPanel>
                </Border>
            </Grid>
        </DataTemplate>

    </Window.Resources>
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"></RowDefinition>
            <RowDefinition></RowDefinition>
        </Grid.RowDefinitions>
        <Button Margin="7,7,7,0" Padding="2" Click="cmdGetProducts_Click">Get Products</Button>
        <!--列表框都有ScrollViewer.HorizontalScrollBarVisibility(水平滚动条),-->
        <ListBox  Grid.IsSharedSizeScope="True" Grid.Row="1" Margin="7,3,7,10" Name="lstProducts" ItemTemplate="{StaticResource ItemTemplate}"
             ScrollViewer.HorizontalScrollBarVisibility="Disabled"
            >
            <ListBox.ItemsPanel>
                <ItemsPanelTemplate>
                    <WrapPanel></WrapPanel>
                </ItemsPanelTemplate>
            </ListBox.ItemsPanel>
        </ListBox>
    </Grid>
</Window>

<Window x:Class="demo.ComboBoxSelectionBox"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="ComboBoxSelectionBox" Height="300" Width="300"
        xmlns:local="clr-namespace:demo"
    >
    <Window.Resources>
        <local:ImagePathConverter x:Key="ImagePathConverter"></local:ImagePathConverter>
    </Window.Resources>

    <StackPanel Margin="5">
        <!--IsEditable是否允许输入内容,自动补充-->
        <!--IsReadOnly禁用文本搜索-->
        <ComboBox SnapsToDevicePixels="True" Name="lstProducts" 

              IsEditable="{Binding ElementName=chkIsEditable, Path=IsChecked}"
              IsReadOnly="{Binding ElementName=chkIsReadOnly, Path=IsChecked}"

                  IsTextSearchEnabled="False" Margin="5" HorizontalAlignment="Stretch">
            <ComboBox.ItemContainerStyle>
                <Style>
                    <Setter Property="Control.Padding" Value="1"></Setter>
                    <Style.Triggers>
                        <Trigger Property="ComboBoxItem.IsSelected" Value="True">
                            <Setter Property="ComboBoxItem.Background" Value="red" />
                        </Trigger>
                        <Trigger Property="ComboBoxItem.IsHighlighted" Value="True">
                            <Setter Property="ComboBoxItem.Background" Value="Yellow" />
                        </Trigger>

                    </Style.Triggers>
                </Style>
            </ComboBox.ItemContainerStyle>
            <ComboBox.ItemTemplate>
                <DataTemplate>
                    <Grid Margin="0" Background="White">
                        <Border Margin="5" BorderThickness="1" BorderBrush="Pink"
                    Background="{Binding RelativeSource=
                          {
                             RelativeSource
                             Mode=FindAncestor,
                             AncestorType={x:Type ComboBoxItem}
                          },
                          Path=Background
                         }" CornerRadius="4">
                            <Grid Margin="3">
                                <Grid.RowDefinitions>
                                    <RowDefinition></RowDefinition>
                                    <RowDefinition></RowDefinition>
                                </Grid.RowDefinitions>
                                <Grid.ColumnDefinitions>
                                    <ColumnDefinition></ColumnDefinition>
                                    <ColumnDefinition Width="Auto"></ColumnDefinition>
                                </Grid.ColumnDefinitions>
                                <TextBlock FontWeight="Bold" Text="{Binding Path=ModelNumber}"></TextBlock>
                                <TextBlock Grid.Row="1" Text="{Binding Path=ModelName}"></TextBlock>
                                <Image Grid.Column="1" Grid.RowSpan="2" Width="50"  Source="{Binding Path=ProductImagePath, Converter={StaticResource ImagePathConverter}}"></Image>
                            </Grid>
                        </Border>
                    </Grid>
                </DataTemplate>
            </ComboBox.ItemTemplate>
        </ComboBox>

        <CheckBox Name="chkIsEditable" Margin="5">IsEditable</CheckBox>
        <CheckBox Name="chkIsReadOnly" Margin="5">IsReadOnly</CheckBox>

    </StackPanel>
</Window>
时间: 2024-10-16 08:30:58

D20_11_ComboBox控件 listbox的相关文章

VBA控件ListBox的BoundColumn和TextColumn用法,Value和Text的用法

在使用Excel编写VBA程序时,用到ListBox,然后研究了下它的所有属性.其实这个控件功能很不好用,太老了,最重要的是还不支持鼠标滚轮,很不好操作,但是考虑到兼容性,还是使用它. 其实读取.写入数据用ListBox.List已经足够了,而BoundColumn和TextColumn主要是用于读取数据,有什么鸟用?我也不是很清楚,但是可以像下面这样用.这两个参数相当于设置了列的索引(j),只需选中行(i)即可读取对应的数据List(i,j).其中,BoundColumn与Value关联:Te

4、数据绑定控件 ListBox 的一个 Bug

同事这两天在做 universal 项目的时候,遇到一个诡异的问题,即使设置 Page 为 缓存状态, 在页面跳转后, ListBox 的位置不会被缓存,怀疑是页面的缓存状态出了问题: this.NavigationCacheMode = Windows.UI.Xaml.Navigation.NavigationCacheMode.Enabled; 写了一个 demo,测试了一下: 1)在程序启动的时候,默认显示 PivotPage 页面.分别放置 ListView. ItemsControl.

列表控件ListBox关联的MFC中的类:CListBox

######################################################## 1.在列表的结尾添加一项:AddString 2.在列表的指定位置添加一项:InsertString 3.获取列表中项的个数:GetCount 4.获取某项的文本:GetText 5.在单选列表控件中,获取与设置当前选中项:GetCurSel.SetCurSel 6.在列表项中查找指定的字符串:FindString.FindStringExact 7.删除列表中所有的项:ResetC

C#窗体控件简介ListBox

ListBox 控件ListBox 控件又称列表框,它显示一个项目列表供用户选择.在列表框中,用户一次可以选择一项,也可以选择多项.1.常用属性:(1) Items属性: 用于存放列表框中的列表项,是一个集合.通过该属性,可以添加列表项.移除列表项和获得列表项的数目.(2)MultiColumn 属性:用来获取或设置一个值,该值指示ListBox是否支持多列.值为 true 时表示支持多列,值为 false 时不支持多列.当使用多列模式时,可以使控件得以显示更多可见项.(3)ColumnWidt

B/S一些小知识及常用控件

一: B/S网页的运行 页面在设计的时候,本身就是一个类.在运行的时间,是一个对象. 其中aspx和aspx.cs是在同一个类下. aspx是主要是负责界面,而aspx.cs主要是负责数据逻辑. 呈现:把页面上所有的控件对象,转化成HTML标签.  内存中的对象--->HTML ** 规范 **: 以后写代码的时候,在Page_Load方法中,99%的代码需要写在 if (!IsPostBack) { } IsPostBack——页面初始加载-false;表单提交加载-true 页面初始加载的情

C#控件方法及属性大全,望补充

C#控件及常用设计整理 1.窗体 常用属性 (1)Name属性:用来获取或设置窗体的名称,在应用程序中可通过Name属性来引用窗体. (2) WindowState属性: 用来获取或设置窗体的窗口状态. 取值有三种: Normal (窗体正常显示). Minimized (窗体以最小化形式显示)和 Maximized(窗体以最大化形式显示). (3)StartPosition属性:用来获取或设置运行时窗体的起始位置. (4)Text属性:该属性是一个字符串属性,用来设置或返回在窗口标题栏中显示的

C#控件事件属性大全

C#控件及常用设计整 1.窗体... 1 2.Label 控件... 3 3.TextBox 控件... 4 4.RichTextBox控件... 5 5.NumericUpDown 控件... 7 6.Button 控件... 7 7.GroupBox 控件... 7 8.RadioButton控件... 8 9.CheckBox 控件... 8 10.ListBox 控件... 9 11.ComboBox 控件... 10 12.CheckedListBox 控件... 10 13.Pict

【转】VS2010/MFC编程入门之二十五(常用控件:组合框控件Combo Box)

原文网址:http://www.jizhuomi.com/software/189.html 上一节鸡啄米讲了列表框控件ListBox的使用,本节主要讲解组合框控件Combo Box.组合框同样相当常见,例如,在Windows系统的控制面板上设置语言或位置时,有很多选项,用来进行选择的控件就是组合框控件.它为我们的日常操作提供了很多方便. 组合框控件简介 组合框其实就是把一个编辑框和一个列表框组合到了一起,分为三种:简易(Simple)组合框.下拉式(Dropdown)组合框和下拉列表式(Dro

C# 常用控件及单击事件

1.窗体 1.常用属性 (1)Name属性:用来获取或设置窗体的名称,在应用程序中可通过Name属性来引用窗体. (2)WindowState属性: 用来获取或设置窗体的窗口状态. 取值有三种: Normal (窗体正常显示). Minimized(窗体以最小化形式显示)和 Maximized(窗体以最大化形式显示). (3)StartPosition属性:用来获取或设置运行时窗体的起始位置.(System.Windows.Forms.SystemInformation.WindowsArea.