【问题标题】:XAML ComboBox items being cropped verticallyXAML ComboBox 项目被垂直裁剪
【发布时间】:2017-03-21 19:03:15
【问题描述】:

我有一个组合框,其中在“下拉模式”中项目的文本在顶部和底部被裁剪,如下所示:

我已经尝试了 Height、FontSize 和 VerticalContentAlignment 属性的各种值组合,但它坚持在每个项目的上方和下方放置大量空白,然后裁剪文本,如您所见。理想情况下,我想减少或消除此空白,以使文本保持与其他网格项中的文本相同的大小(或略小)。我希望组合框在不处于下拉模式时与网格单元格的高度相同,因此使组合框本身更高以给其中的项目更多空间并不是一个好的解决方案。

这是我的 XAML 代码的相关部分:

<Window.Resources>
    <DataTemplate DataType="{x:Type data:PointTimeRoute}">
        <StackPanel Orientation="Horizontal" VerticalAlignment="Top">
            <Label Content="{Binding PTTime, Converter={StaticResource TimespanFormatter}}" Height="20" FontSize="11" VerticalContentAlignment="Stretch"></Label>
            <Label Content="{Binding PTLoc}" Height="20" FontSize="11" VerticalContentAlignment="Stretch"></Label>
        </StackPanel>
    </DataTemplate>
    <DataTemplate x:Key="TextEditor">
        <TextBox Text="{Binding TimeSpan, Converter={StaticResource TimespanFormatter}}" Height="20" FontSize="11" VerticalContentAlignment="Stretch"/>
    </DataTemplate>
    <DataTemplate x:Key="ComboEditor">
        <ComboBox SelectedValue="{Binding PointTimeRoute}" ItemsSource="{Binding Converter={StaticResource FromToDutyFilter}}" Height="20" FontSize="11" VerticalContentAlignment="Stretch"/>
    </DataTemplate>
</Window.Resources>

注意:“TimespanFormatter”在 Application.Resources 中定义,不包含 Height、FontSize 或任何其他属性的任何设置。

【问题讨论】:

    标签: wpf xaml combobox


    【解决方案1】:

    标签有 Height="20"、FontSize="11" Padding="5"(5 是标签的默认值)。它导致文本空间不足。例如设置更小的填充或使用 TextBlocks

    【讨论】:

    • 谢谢,已经解决了。我在我拥有的 XAML 文档中找不到对“填充”的任何引用。
    猜你喜欢
    • 2013-11-06
    • 1970-01-01
    • 2016-02-08
    • 1970-01-01
    • 1970-01-01
    • 2012-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多