项目模板组合框

发布于 2024-12-16 10:55:18 字数 182 浏览 1 评论 0原文

我想在 Windows.UI.Xaml.Controls.ComboxBox 中存储两个项目。

  1. 将在组合框中显示的字符串

  2. 不会在组合框中显示的索引

我探索并发现 ItemTemplate 属性可以做到这一点。 有人可以请给我提供这个的样本吗?

I wanted to store two Item in the Windows.UI.Xaml.Controls.ComboxBox.

  1. String which will be displayed in the ComboBox

  2. Index which won't be shown in the CombBox

I explored and found that ItemTemplate Property can do this.
Can somebody Please provide me the sample for this.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

野稚 2024-12-23 10:55:18

您不需要 ItemTemplate,您需要的是:

combobox.add(new ListItem("string", "index"); 

You dont need ItemTemplate, what you need would be like:

combobox.add(new ListItem("string", "index"); 
∞梦里开花 2024-12-23 10:55:18

试试这个:

<UserControl
    x:Class="Application1.MainPage"
    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"
    mc:Ignorable="d"
    d:DesignHeight="768" 
    d:DesignWidth="1366">
    <Grid 
        x:Name="LayoutRoot" 
        Background="#FF0C0C0C">
        <Rectangle
            x:Name="rect"
            Fill="Black"
            Margin="40,40,0,0" />

        <ComboBox
            Margin="40,40,0,0"
            VerticalAlignment="Top"
            HorizontalAlignment="Left"
            ItemsSource="{Binding Items}">
            <ComboBox.ItemTemplate>
                <DataTemplate>
                    <TextBlock
                        Text="{Binding Text}" />
                </DataTemplate>
            </ComboBox.ItemTemplate>
        </ComboBox>
    </Grid>
</UserControl>

using System.Collections.Generic;

namespace Application1
{
    partial class MainPage
    {
        public MainPage()
        {
            InitializeComponent();
            this.DataContext = new MainViewModel();
        }
    }

    public class MyItem
    {
        public string Text { get; set; }
        public int Id { get; set; }
    }

    public class MainViewModel
    {
        public List<MyItem> Items { get; set; }

        public MainViewModel()
        {
            this.Items = new List<MyItem>();
            this.Items.Add(new MyItem { Text = "Item 1", Id = 1 });
            this.Items.Add(new MyItem { Text = "Item 2", Id = 2 });
        }
    }
}

Try this:

<UserControl
    x:Class="Application1.MainPage"
    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"
    mc:Ignorable="d"
    d:DesignHeight="768" 
    d:DesignWidth="1366">
    <Grid 
        x:Name="LayoutRoot" 
        Background="#FF0C0C0C">
        <Rectangle
            x:Name="rect"
            Fill="Black"
            Margin="40,40,0,0" />

        <ComboBox
            Margin="40,40,0,0"
            VerticalAlignment="Top"
            HorizontalAlignment="Left"
            ItemsSource="{Binding Items}">
            <ComboBox.ItemTemplate>
                <DataTemplate>
                    <TextBlock
                        Text="{Binding Text}" />
                </DataTemplate>
            </ComboBox.ItemTemplate>
        </ComboBox>
    </Grid>
</UserControl>

using System.Collections.Generic;

namespace Application1
{
    partial class MainPage
    {
        public MainPage()
        {
            InitializeComponent();
            this.DataContext = new MainViewModel();
        }
    }

    public class MyItem
    {
        public string Text { get; set; }
        public int Id { get; set; }
    }

    public class MainViewModel
    {
        public List<MyItem> Items { get; set; }

        public MainViewModel()
        {
            this.Items = new List<MyItem>();
            this.Items.Add(new MyItem { Text = "Item 1", Id = 1 });
            this.Items.Add(new MyItem { Text = "Item 2", Id = 2 });
        }
    }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文