zoukankan      html  css  js  c++  java
  • WPF ComboBox下拉列表显示图片Image

    下拉列表对应的实体,ViewBase参考(https://www.cnblogs.com/Stay627/p/13965451.html)

        public class ImgCombobox : ViewBase
        {
            private BitmapImage photo;
            private string name;
    
            public BitmapImage Photo { get => photo; set => UpdateProper(ref photo, value); }
            public string Name { get => name; set => UpdateProper(ref name, value); }
        }

    定义下拉列表内容模板,Photo、Name字段对应ImgCombobox实体中的Photo、Name属性

    Page换成你对应的界面类型

    <Page.Resources>
            <DataTemplate x:Key="cmbTemplate">
                <WrapPanel VerticalAlignment="Center">
                    <Viewbox Height="16">
                        <Image Source="{Binding Photo}" RenderOptions.BitmapScalingMode="HighQuality" UseLayoutRounding="True" SnapsToDevicePixels="True" />
                    </Viewbox>
                    <TextBlock Text="{Binding Name}" Margin="10,0,0,0"/>
                </WrapPanel>
            </DataTemplate>
    </Page.Resources>

     设置下拉列表的ItemTemplate静态资源,设置ItemsSource数据源与SelectedItem行对象

    <ComboBox x:Name="uiCmbVer" HorizontalAlignment="Center" VerticalAlignment="Top" Width="180" Height="30" 
        ItemTemplate
    ="{StaticResource cmbTemplate}" ItemsSource="{Binding CmbListDirection}" SelectedItem="{Binding CmbItemVertical}">
    </
    ComboBox>

     后台设置数据源

    public ImgCmbDemo()
    {
      InitalzeComponent();
      view = new ImgCmobobox();
      this.DataContext = view;
      view.CmbListDirection = new List<ImgCombobox>()
      {
        new ImgCombobox()
        {
          Name = "张三",
          Photo=new BitmapImage(new Uri(fileName+"photo1.png",UriKind.Absolute))
        },new ImgCombobox()
        {
          Name = "李四",
          Photo = new BitmapImage(new Uri(fileName+"photo2.png",UriKind.Absolute))
        }
      };
    }
    ImgCmobobox view;
    static string fileName = "pack://application:,,,/Images/";
  • 相关阅读:
    一首诗
    jsp作用域问题
    jsp关于request.setAttribue还有response.addCookie()的两个问题
    编程学习过程记录
    一些关于自己的未来的东西
    requests的post提交form-data; boundary=????
    记录一些爬虫的小细节
    【CSS3】CSS——链接
    【CSS3】CSS——文本
    【CSS3】background-clip与background-origin的联系与区别
  • 原文地址:https://www.cnblogs.com/Stay627/p/14469551.html
Copyright © 2011-2022 走看看