0

我有一个ListBox由这样的项目组成:

<ListBoxItem>
    <ListBoxItem.ContentTemplate>
        <DataTemplate>
            <TextBlock Text="{Binding Path=department}"></TextBlock>
        </DataTemplate>
    </ListBoxItem.ContentTemplate>
</ListBoxItem>

部门是一个字符串属性:text="dept1\dept2\dept3\dept4\dept5\dept6" 我的问题是,当ListBox大小改变时,我想以TextBlock这种方式更改文本: text= dept1\dept2\...\dept6 .

(dept1\dept2\...\dept6) 的长度等于或小于ListBoxItem实际大小。

4

1 回答 1

0

您需要像这样将 TextBlock 的 TextTrimming 属性设置为 CharacterEllipsis -

<TextBlock Text="{Binding Path=department}" TextTrimming="CharacterEllipsis"/>

但是,如果它大于列表框的大小,这将在文本末尾显示省略号。像这样的东西 - “dept1\dept2\dept3\dept4\dept5...”

但是,如果您希望它位于中心,您可能必须使用它ValueConverter来格式化字符串。这可能会有所帮助-WPF ListView 中字符串开头的省略号

于 2012-06-23T19:45:09.133 回答