2017-07-18 128 views
1

我有一個分爲兩列的列表視圖。問題是如果列表視圖中顯示的信息太長,則會發生什麼情況。將列表視圖劃分爲列,使用水平滾動(wpf)

如果我做一個固定的寬度,它會削減一些。如果我創建一個自動寬度,那麼listview列的初始狀態看起來很糟糕。

固定寬度: enter image description here 自動寬度: enter image description here 任何想法,我能做些什麼來解決這個問題?

相關XAML:

<ListView Width="Auto" Height="Auto" Margin="10" Background="#092E3E" Foreground="White" ItemsSource="{Binding BackupEvents}" > 
    <ListView.ItemContainerStyle> 
     <Style TargetType="{x:Type ListViewItem}"> 
      ... 
     </Style> 
    </ListView.ItemContainerStyle> 
    <ListView.View> 
     <GridView AllowsColumnReorder="False"> 
      <GridView.ColumnHeaderContainerStyle> 
       ... 
      </GridView.ColumnHeaderContainerStyle> 

      <GridView.Columns> 
       <GridViewColumn Width="200" Header="Time" DisplayMemberBinding="{Binding LVTime}"/> 

       // auto or fixed? 
       <GridViewColumn Width="Auto"/"520" Header="Details" DisplayMemberBinding="{Binding LVDetails}"/> 
      </GridView.Columns> 
     </GridView> 
    </ListView.View> 
</ListView> 

最好的解決方案,我認爲將是如果我能把列大小固定的,但是文本/列表條目,如果需要包裝成多行。但我不知道該怎麼做......

+0

那麼,如果你看以Windows資源管理器爲例,他們切斷了數據。滾動對我來說似乎是一個奇怪的解決方案...但是這對於https://ux.stackexchange.com/ –

+0

中的人員可以將最小寬度設置爲更具吸引力的大小MinWidth =「」 –

+0

解決方法I'現在使用的是將列寬設置爲自動,但在標題中放置了很多空格,即「________ Details ________」。我覺得它很醜,但它現在起作用。 –

回答

0

您可以將數據的一定寬度後顯示省略號

+0

你能詳細說一下嗎?我不明白 –

0

最好的解決方案,我認爲將是如果我能把列的大小固定,但如果需要,可以將文本/列表條目包裝成多行。但我不知道該怎麼做......

您可以定義一個隱含的TextBlockStyle設置所有TextBlocksTextWrapping財產在GridViewWrap

<ListView Width="Auto" Height="Auto" Margin="10" Background="#092E3E" Foreground="White" ItemsSource="{Binding BackupEvents}" > 
    <!-- HERE: --> 
    <ListView.Resources> 
     <Style TargetType="{x:Type ListViewItem}"> 
      <Setter Property="TextBlock.TextWrapping" Value="Wrap" /> 
     </Style> 
    </ListView.Resources> 
    <ListView.ItemContainerStyle> 
     <Style TargetType="{x:Type ListViewItem}"> 
      ... 
     </Style> 
    </ListView.ItemContainerStyle> 
    <ListView.View> 
     <GridView AllowsColumnReorder="False"> 
      <GridView.ColumnHeaderContainerStyle> 
       ... 
      </GridView.ColumnHeaderContainerStyle> 

      <GridView.Columns> 
       <GridViewColumn Width="200" Header="Time" DisplayMemberBinding="{Binding LVTime}"/> 

       // auto or fixed? 
       <GridViewColumn Width="Auto"/"520" Header="Details" DisplayMemberBinding="{Binding LVDetails}"/> 
      </GridView.Columns> 
     </GridView> 
    </ListView.View> 
</ListView> 
+0

這不起作用......你確定我的專欄內容是文本塊嗎? –