標籤:tag 改變 設定 mem target ice head rop package
原文:【C#/WPF】ListView的MVVM例子,及禁止拖動ListView的頭部Header
一個ListView的MVVM簡單例子:
<ListView ItemsSource="{Binding GoodsList}" Margin="0,10,0,10"> <ListView.View> <GridView> <GridViewColumn Header="套餐編號" Width="120" DisplayMemberBinding="{Binding packageNo}" /> <GridViewColumn Header="數量" Width="120" DisplayMemberBinding="{Binding num}" /> <GridViewColumn Header="單價" Width="120" DisplayMemberBinding="{Binding price}" /> <GridViewColumn Header="總金額" Width="120" DisplayMemberBinding="{Binding totalAmount}" /> <GridViewColumn Header="選擇" Width="120"> <!-- 可以定義Cell的模板 --> <GridViewColumn.CellTemplate> <DataTemplate> <!--<TextBlock Text="{Binding Mail}" TextDecorations="Underline" Foreground="Blue" Cursor="Hand" />--> <RadioButton GroupName="package" Checked="RadioButton_Checked"/> </DataTemplate> </GridViewColumn.CellTemplate> </GridViewColumn> </GridView> </ListView.View></ListView>
運行後效果如下(未填充任一條目):
發現問題:使用者可以自由拖拽以改變頭部的寬度!需要禁止這一操作。
給< GridView >設定它的頭部樣式為禁用即可,代碼如下:
<GridView.ColumnHeaderContainerStyle> <Style TargetType="{x:Type GridViewColumnHeader}"> <Setter Property="IsEnabled" Value="False"/> </Style></GridView.ColumnHeaderContainerStyle>
重要參考:
(Google搜wpf lock listview header)
http://stackoverflow.com/questions/181956/prevent-user-from-resizing-columns-with-wpf-listview
【C#/WPF】ListView的MVVM例子,及禁止拖動ListView的頭部Header