我有一個ListView控件在我的WPF應用程序WPF GridView的調整幅度可用空間大小
<ListView Name="generatorsList" ItemsSource="{Binding GeneratorsList}" SelectionMode="Single">
<ListView.View>
<GridView>
<GridViewColumn DisplayMemberBinding="{Binding Name}">
<GridViewColumn.Header>
<GridViewColumnHeader Tag="Name">Name</GridViewColumnHeader>
</GridViewColumn.Header>
</GridViewColumn>
<GridViewColumn Header="Type" DisplayMemberBinding="{Binding Type}" />
<GridViewColumn Header="Description" DisplayMemberBinding="{Binding Description}" />
<GridViewColumn Header="Actions" Width="60">
<GridViewColumn.CellTemplate>
<DataTemplate>
//buttons
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
的情況是,當窗口比列表本身較小(爲例如,如果顯示的例子中的描述非常長)滾動條形成並且GridView
保持不變,因此操作按鈕在屏幕上不可見(用戶必須拖動滾動條)。
我想在初始化爲基於當前窗口寬度的最大列寬,所以當ListView中被示出爲用戶的Actions
柱將總是出現。這樣
然後,如果用戶願意,他可以手動調整任何列(所以沒有實際的「maxwidth
」時,只是width
)。 我試圖與*
工作,但GridView不知道它的孩子,所以*
不在這裏工作,auto
不是一個好的選擇,因爲我不能設置每列的最大所需的寬度,恆定的寬度值是不需要的,因爲它必須取決於可變的窗口大小(可用空間大小)。我認爲我需要在代碼中使用某種事件,但我不知道應該如何處理它。
您始終可以將Actions放置在前面:這樣,無論窗口或列的寬度如何,它們始終位於相同的位置。 – cguedel
它會工作,但這是一個騙局。列表與前面的操作按鈕看起來不太一樣。還有,如果'Name'字段太長? – Erexo