簡體   English   中英

列縮小時如何在DataGridTextColumn標題中顯示橢圓和/或滾動條?

[英]How to display ellipse and/or scroll bar in DataGridTextColumn Header when column shrinks?

我試圖弄清楚當列縮小時如何強制列標題顯示橢圓和/或滾動條。 我知道textblock(列)中的數據可以縮小到橢圓形,但是我不知道如何使標頭做同樣的事情。 我通過以下方式定義數據網格(這是文本列的示例):

<DataGrid  Height="150" HorizontalAlignment="Stretch" VerticalScrollBarVisibility="Auto">
        <DataGrid.Columns>
            <DataGridTextColumn Header="Dataset Description" Width="370">
                <DataGridTextColumn.CellStyle>
                    <Style TargetType="{x:Type DataGridCell}">
                        <Setter Property="ToolTip" Value="Name of database"/>                           
                    </Style>
                </DataGridTextColumn.CellStyle>
          </DataGridTextColumn>

在此示例中,當用戶縮小“數據集描述”列時,我希望看到帶有附帶滾動條的“數據集...”或“數據集”之類的內容。

我嘗試在DataGridTextColumn內添加類似的內容,但不會產生任何結果/響應:

<DataGridTextColumn.HeaderStyle>
      <Style TargetType="{x:Type DataGridColumnHeader}">
          <Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Visible"/>
      </Style>
 </DataGridTextColumn.HeaderStyle>

我想我可以實現一個偵聽器,以查看何時調整列的大小並重新設置標題值,但是我顯然想避免這種情況。 任何想法都歡迎!

您可以執行以下操作,實現DataGrid.ColumnHeaderStyle。

<DataGrid Height="150" HorizontalAlignment="Stretch" VerticalScrollBarVisibility="Auto">
    <DataGrid.ColumnHeaderStyle>
        <Style TargetType="DataGridColumnHeader">
            <Setter Property="ContentTemplate">
                <Setter.Value>
                    <DataTemplate>
                        <TextBlock TextTrimming="CharacterEllipsis" Text="{Binding}"/>
                    </DataTemplate>
                </Setter.Value>
            </Setter>
        </Style>
    </DataGrid.ColumnHeaderStyle>
    <DataGrid.Columns>
        <DataGridTextColumn Header="Dataset Description" Width="370">
            <DataGridTextColumn.CellStyle>
                <Style TargetType="{x:Type DataGridCell}">
                    <Setter Property="ToolTip" Value="Name of database"/>
                </Style>
            </DataGridTextColumn.CellStyle>
        </DataGridTextColumn>
    </DataGrid.Columns>
</DataGrid>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM