2012-06-23 40 views
0

更改TextBlock的文字我有一個ListBox其中包括從像這樣的項目:在列表框中

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

部門是一個字符串屬性:文本= 「DEPT1 \ DEPT2 \ dept3 \ dept4 \ dept5 \ dept6」 我的問題是當ListBox大小改變時,我想以這種方式更改TextBlock文本:text = dept1 \ dept2 \ ... \ dept6。

(dept1 \ dept2 \ ... \ dept6)的長度等於或小於ListBoxItem的實際大小。

回答

0

您需要將TextBlock的的TextTrimming屬性設置爲CharacterEllipsis這樣的 -

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

但是,這將在文本的末尾顯示省略號如果它得到比ListBoxItem的規模更大。像這樣的東西 - 「dept1 \ dept2 \ dept3 \ dept4 \ dept5 ...」

但是,如果你想在中心,你可能必須使用ValueConverter來格式化字符串。這可能會有所幫助 - Ellipsis at start of string in WPF ListView