【问题标题】:WPFToolkit CheckComboBox width issueWPFToolkit CheckComboBox 宽度问题
【发布时间】:2012-08-21 10:38:21
【问题描述】:

我在一个应用程序中使用 CheckComboBox(来自Extended WPF Toolkit),我想让“文本框”显示所选项目的位置更宽一些,(事实上,我希望它填充所有CheckComboBox),但我不知道如何应用样式。

有什么帮助吗?

谢谢!


当前代码

 <UserControl
 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
 xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit">
 <!-- ... -->
 <Label Content="Locale: "/>
 <xctk:CheckComboBox Name="LocaleSelector" ItemsSource="{Binding Locales}" ValueMemberPath="Id" SelectedValue="{Binding SelectedLocales}" Margin="5 2 0 2" />

【问题讨论】:

  • 正如我所说,我不知道如何为控件的内部设置样式,所以我还没有做任何事情......我已经用代码更新了问题。
  • 你试过HorizontalContentAlignment="Stretch"吗?
  • @CodingGorilla 是的,但它并没有像我预期的那样工作。无论如何,我开始使用 Horizo​​ntalContent="Stretch" 并在 StackOverflow 上查看一些稍微相关的问题并找到了解决方案。我已经添加了答案,以防万一有人需要。

标签: c# wpf xaml wpftoolkit


【解决方案1】:

我终于把它放到了 UserControl.Resources 中,并将样式应用到 CheckComboBox

<Style x:Key="MyCustomStyle" TargetType="{x:Type xctk:CheckComboBox}">
    <Style.Resources>
        <Style TargetType="{x:Type TextBox}">
            <Setter Property="HorizontalAlignment" Value="Stretch" />
        </Style>
    </Style.Resources>
</Style>
<!-- ... -->
<xctk:CheckComboBox Name="LocaleSelector" ItemsSource="{Binding Locales}" ValueMemberPath="Id" SelectedValue="{Binding SelectedLocales}" Style="{StaticResource MyCustomStyle" Margin="5 2 0 2" />

【讨论】:

  • 顺便说一句,您可以从样式中删除x:Key 属性,并将其应用于声明样式的容器内的所有CheckComboBox
  • 我什至不知道您可以为样式添加资源;这解决了我的问题,谢谢!
猜你喜欢
  • 2023-03-13
  • 2011-07-19
  • 2011-09-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-07
  • 1970-01-01
相关资源
最近更新 更多