2015-06-19 20 views
0

我對此很陌生。我的應用程序有一個兩列DataGrid控件。都包含文本字符串。第一列文本始終適合其列,但第二列中的文本應當在達到列寬或控件寬度時進行換行。無論什麼時候換行,我還想讓列1的內容垂直居中。如何在.NET 4.5 DataGrid列中創建文本換行

如何獲得第二列的換行和第一個的內容在換行時垂直居中?

目前我自動生成列。我嘗試用生成自動不列,並使用下列內容:

 <DataGrid x:Name="LogGrid" Margin="10,10,10,0" VerticalAlignment="Top" Loaded="LogGrid_Loaded" Background="#FFB8B5A4" MinWidth="380" HorizontalAlignment="Center" CanUserReorderColumns="False" CanUserResizeColumns="False" CanUserResizeRows="False" Width="380" AutoGenerateColumns="False"> 
     <DataGrid.Columns> 
      <DataGridTextColumn x:Name="TimeColumn" Header="Time" IsReadOnly="True" SortDirection="Ascending" Width="55"/> 
      <DataGridTextColumn x:Name="LogEntryColumn" Header="Log Entry" CanUserSort="False" Width="325"> 
       <DataGridTextColumn.ElementStyle> 
        <Style TargetType="{x:Type TextBlock}"> 
         <Setter Property="TextBlock.TextWrapping" Value="Wrap"/> 
        </Style> 
       </DataGridTextColumn.ElementStyle> 
      </DataGridTextColumn> 
     </DataGrid.Columns> 
    </DataGrid> 

結果是文字環繞沒有工作,我的數據沒有被轉移到控件的列(我不使用數據綁定的我還不明白)。我無法弄清楚如何使數據顯示在手動定義的列中。這會迫使我使用數據綁定?

所以我放棄了這種方法,正在等待幫助。

謝謝。

回答

1

右鍵點擊 「編輯列」 您DataGridView,選擇您的專欄,展開 「DefaultCellStyle」,並設置 「WrapMode」= TRUE

+0

alyBaba726嗨。不明白。我有一個DataGrid不是DataGridView。 –

+0

我應該補充說這些列是自動生成的。 –

+0

@ G.M。 ,抱歉誤讀。也許你可以設置你的列到指定的高度/寬度。我會建議數據綁定,但我不知道你的項目的範圍。 – alybaba726