• 【WPF】Combox 下拉选项增加图片显示 ItemTemplate


     效果图如上所示:

    前端Xmal代码:

    <Window x:Class="WpfTest.MainWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
            xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
            xmlns:local="clr-namespace:WpfTest"
            mc:Ignorable="d"
            Title="MainWindow" Height="350" Width="525">
        <Grid>
            <StackPanel>
                <Button Content="www.wikibt.com"  Click="Button_Click"></Button>
    
                <ComboBox ItemsSource="{Binding Items}" SelectedItem="{Binding CurrentItem}">
                    <ComboBox.ItemTemplate>
                        <DataTemplate>
                            <StackPanel Orientation="Horizontal">
                                <Image Source="/images/www.wikibt.com.png"></Image>//此处图片路径写死了,可以用绑定实现不一样的图片{Binding ItemImage}
                                <TextBlock Text="{Binding ItemName}" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>
                            </StackPanel>
                        </DataTemplate>
                    </ComboBox.ItemTemplate>
                </ComboBox>
            </StackPanel>
        </Grid>
    </Window>

    后端代码:

    using RevitTask;
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Data;
    using System.Windows.Documents;
    using System.Windows.Input;
    using System.Windows.Media;
    using System.Windows.Media.Imaging;
    using System.Windows.Navigation;
    using System.Windows.Shapes;
    
    namespace WpfTest
    {
        /// <summary>
        /// MainWindow.xaml 的交互逻辑
        /// </summary>
        public partial class MainWindow : Window
        {
            public MainWindow()
            {
                InitializeComponent();
                Items = new List<ImageItem>() {
                    new ImageItem("",1),new ImageItem("",2),new ImageItem("",3)
                };
                this.DataContext = this;
            }
    
            public List<ImageItem> Items { get; set; }
            public ImageItem CurrentItem { get; set; }
    
            private void Button_Click(object sender, RoutedEventArgs e)
            {
                MessageBox.Show(CurrentItem == null ? "null" : CurrentItem.ItemValue.ToString());
            }
        }
        public class ImageItem
        {
            public ImageItem(string name, object value)
            {
                ItemName = name;
                ItemValue = value;
            }
            public ImageItem(string name, object value, ImageSource img) : this(name, value)
            {
                ItemImage = img;
            }
            public string ItemName { get; set; }
            public object ItemValue { get; set; }
            public ImageSource ItemImage { get; set; }
        }
    }

    PS.喜欢动漫的,可以关注下我的BT网站(下载动漫):维基BT www.wikibt.com

  • 相关阅读:
    C语言之数组中你所不在意的重要知识
    Word2007怎样从随意页開始设置页码 word07页码设置毕业论文
    天将降大任于斯人也,必先苦其心志,劳其筋骨,饿其体肤,空乏其身,行拂乱其所为,所以动心忍性,增益其所不能
    高速排序算法
    Cocos2d-x中停止播放背景音乐
    Netflix公司监控内部安全的开源项目
    Linux内核——进程管理与调度
    WebService之Soap头验证入门
    Google搜索解析
    android-sdk-windows版本号下载
  • 原文地址:https://www.cnblogs.com/mqxs/p/13098635.html
Copyright © 2020-2023  润新知