用于多个控件的 ComboBox.ItemTemplate

发布于 2024-12-21 08:15:41 字数 824 浏览 3 评论 0原文

我有 10 个 ComboBox 控件,它们将使用相同的项目模板(图像和文本块)和相同的项目,因此我想在更全局的范围(页面级别)上定义此模板。这就是我到目前为止所做的:

<UserControl.Resources>
     <DataTemplate x:Name="CBItem">
          <StackPanel Orientation="Horizontal">
              <Image Source="{Binding ImageSource}"></Image>
              <TextBlock Text="{Binding TextLabel}"></TextBlock>
          </StackPanel>
     </DataTemplate>
</UserControl.Resources>

问题是我不知道如何在以下 10 个 ComboBox 控件中使用此资源。我尝试过类似的方法

        <ComboBox Height="25">
            <ComboBox.ItemTemplate>
                <DataTemplate x:Name="{StaticResource CBItem}"></DataTemplate>
            </ComboBox.ItemTemplate>
        </ComboBox>

,但它不起作用。有什么帮助吗?

I have 10 ComboBox controls that will use the same item template (an Image and a Textblock), and the same items, so I want to define this template on a more global scale (page level). This is what I've done so far:

<UserControl.Resources>
     <DataTemplate x:Name="CBItem">
          <StackPanel Orientation="Horizontal">
              <Image Source="{Binding ImageSource}"></Image>
              <TextBlock Text="{Binding TextLabel}"></TextBlock>
          </StackPanel>
     </DataTemplate>
</UserControl.Resources>

The problem is that I don't know how to use this resource in the following 10 ComboBox controls. I've tried something like

        <ComboBox Height="25">
            <ComboBox.ItemTemplate>
                <DataTemplate x:Name="{StaticResource CBItem}"></DataTemplate>
            </ComboBox.ItemTemplate>
        </ComboBox>

But it doesn't work. Any help?

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

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

发布评论

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

评论(1

东走西顾 2024-12-28 08:15:41
<ComboBox Height="25" ItemTemplate="{StaticResource CBItem}"/>

或者更好的是,还创建一个样式:

<Style x:Key="cmbStyle" TargetType="ComboBox">
    <Setter Property="ItemTemplate" Value="{StaticResource CBItem}" />
    <Setter Property="Height" Value="25"/>
</Style>

然后:

<ComboBox Style="{StaticResource cmbStyle}"/>

或者,如果页面中的所有组合框都应该具有此样式:

<Style TargetType="ComboBox">
    <Setter Property="ItemTemplate" Value="{StaticResource CBItem}" />
    <Setter Property="Height" Value="25"/>
</Style>

然后:

<ComboBox />
<ComboBox Height="25" ItemTemplate="{StaticResource CBItem}"/>

Or better, also create a style:

<Style x:Key="cmbStyle" TargetType="ComboBox">
    <Setter Property="ItemTemplate" Value="{StaticResource CBItem}" />
    <Setter Property="Height" Value="25"/>
</Style>

and then:

<ComboBox Style="{StaticResource cmbStyle}"/>

Or, if all the Comboboxes in the page should have this style:

<Style TargetType="ComboBox">
    <Setter Property="ItemTemplate" Value="{StaticResource CBItem}" />
    <Setter Property="Height" Value="25"/>
</Style>

and then:

<ComboBox />
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文