2009-12-16 59 views
3

使用.NET3.5下面給出XAML -WPF - 列表視圖數據綁定列寬問題

<ListView Name="RawData" AlternationCount="2" ItemsSource="{Binding}" 
      ScrollViewer.VerticalScrollBarVisibility="Visible" Grid.Row="1" 
      Grid.ColumnSpan="4" 
      IsSynchronizedWithCurrentItem="True" 
      sorter:GridViewSort.AutoSort="True" 
      sorter:GridViewSort.ShowSortGlyph="False" > 
    <ListView.ItemContainerStyle> 
     <Style TargetType="ListViewItem"> 
      <Setter Property="HorizontalContentAlignment" Value="Center" /> 
      <Style.Triggers> 
       <Trigger Property="ItemsControl.AlternationIndex" Value="1"> 
        <Setter Property="Background" Value="LightGray"></Setter> 
       </Trigger> 
      </Style.Triggers> 
     </Style> 
    </ListView.ItemContainerStyle> 
    <ListView.View> 
     <GridView> 
      <GridViewColumn Header="Date" DisplayMemberBinding="{Binding Path=GetDate}" 
          Width="Auto" sorter:GridViewSort.PropertyName="GetDateTime"/> 
      <GridViewColumn Header="Time" DisplayMemberBinding="{Binding Path=GetTime}" 
          Width="Auto" sorter:GridViewSort.PropertyName="GetDateTime"/> 
      <GridViewColumn Header="Scan Time" DisplayMemberBinding="{Binding Path=ScanTimeSec}" 
          sorter:GridViewSort.PropertyName="ScanTimeSecond" Width="Auto"/> 
      <GridViewColumn Header="Ping Time" DisplayMemberBinding="{Binding Path=PingTimeSec}" 
          sorter:GridViewSort.PropertyName="PingTimeSec" Width="Auto" /> 
      <GridViewColumn Header="Fault Messages" 
          DisplayMemberBinding="{Binding Path=ErrorMessages}" 
          sorter:GridViewSort.PropertyName="ErrorMessages" Width="Auto"/> 
     </GridView> 
    </ListView.View> 
</ListView> 

我的問題是與第一和最後一列。它們不會自動調整大小以適合數據的內容。我可以使用固定的寬度,但是當我讓用戶調整字體大小時,這會在項目後期造成問題。

我找到的每個解決方案似乎都是設置width =「auto」,WPF會爲你做這件事。但是,它沒有這樣做。所以作爲WPF的一個新手,我不知道該怎麼做。

+0

如果我刪除您的自定義附加屬性,並創建一些示例數據來表示您的綁定,它似乎工作。是否有更多的信息可以提供,或者可能有關於它如何出現的屏幕截圖? – rmoore 2009-12-16 22:20:22

+0

我上傳截圖到http://picasaweb.google.com/lh/photo/DGoteLkN6xFFmlU8z4wymA?feat=directlink。 在屏幕截圖中,您可以看到此列表視圖是tabcontrol中的4個tabitems之一。整個應用程序基於4個獨立顯示區域的Prism。 TabControl是由Prism中的Unity Framework動態創建和定位的。 我需要自定義屬性,以便我的列排序例程工作。 – 2009-12-17 00:32:42

回答

0

請刪除寬度的自動屬性。您可以手動設置寬度。像寬度=「100」。 我抓取就像這個問題,並通過手動輸入寬度來解決。