2014-02-24 115 views
1

我在我的項目中有一個數據網格,並且在獲取字符串後,其中一部分不能放入,因爲它們太長。我希望我的文本框列具有固定大小,所以我不想爲文本框使用「自動」寬度屬性,但我想知道:是否有某種屬性可用於顯示整個字符串?例如:如果字符串要長時間顯示它的一部分,你可以適合,然後顯示三個點(...)或一些這樣的符號。點擊三個點後顯示文本框的整個值。甚至在滾動某個文本框之後顯示整個字符串。在datagrid文本框中顯示缺少的文本部分WPF

我的數據網格看起來像這樣。

enter image description here

在那裏你可以看到一些過長的字符串值被切斷的。

這是數據網格中文本框的xaml代碼。

<DataGrid Grid.Column="0" Grid.RowSpan="2" AutoGenerateColumns="False" Height="206" HorizontalAlignment="Left" Margin="12,265,0,0" Name="tabela" VerticalAlignment="Top" Width="556" SelectionChanged="tabela_SelectionChanged" ItemsSource="Binding MyObsCollection"> 
    <DataGrid.Columns> 
     <DataGridTextColumn Header="Type" Width="120" Binding="{Binding Type}"/> 
     <DataGridTextColumn Header="MapTo" Width="120" Binding="{Binding MapTo}"/> 
     <DataGridTextColumn Header="Name" Width="116" Binding="{Binding Name}"/> 
    </DataGrid.Columns>  
</DataGrid> 

回答

6

您可以設置TextTrimmingCharacterEllipsis上的TextBlock顯示橢圓形的情況下,文本大於可用大小。

此外,您可以在Tooltip中顯示完整的文本。這是你如何對一個DataGridTextColumn做到這一點:

<DataGridTextColumn Width="20" Binding="{Binding Name}"> 
    <DataGridTextColumn.ElementStyle> 
    <Style TargetType="TextBlock"> 
     <Setter Property="TextTrimming" Value="CharacterEllipsis"/> 
     <Setter Property="ToolTip" Value="{Binding Text, 
           RelativeSource={RelativeSource Self}}"/> 
    </Style> 
    </DataGridTextColumn.ElementStyle> 
</DataGridTextColumn> 
+1

謝謝你這完全成功了! :) –

+0

不客氣nemo_87 .. :) –

+1

謝謝你,也爲我工作過 –