我的ListvIEw代码是:
<Style x:Key="myListVIEwStyle" targettype="{x:Type ListVIEw}" x:Shared="False"> <Setter Property="borderBrush" Value="RoyalBlue" /> <Setter Property="Foreground" Value="teal" /> <Setter Property="FontSize" Value="14" /> <Setter Property="margin" Value="20,60,20,50" /> <Setter Property="borderThickness" Value="4,4,4" /> <Setter Property="ListVIEw.VIEw"> <Setter.Value> <GrIDVIEw AllowsColumnReorder="True" > <GrIDVIEw.Columns> <GrIDVIEwColumn header="A/A" WIDth="30" displayMemberBinding="{Binding AA}"></GrIDVIEwColumn> <GrIDVIEwColumn header="Price" WIDth="350" displayMemberBinding="{Binding Price}" > </GrIDVIEwColumn> <GrIDVIEwColumn header="Shop" WIDth="200" displayMemberBinding="{Binding Shop}" > </GrIDVIEwColumn> </GrIDVIEw.Columns> </GrIDVIEw> </Setter.Value> </Setter> </Style>
我也用这样的代码创建ListvIEw:
ListVIEw l1 = new ListVIEw(); l1.Style = Resources["myListVIEwStyle"] as Style;解决方法 如果它只是你想要kepp的第一列,试试这个:
XAML:
<GrIDVIEwColumnheader x:name="FirstColumn" MouseMove="PreventDrag">
代码背后:
public MyWindow(){ InitializeComponent(); (MyListvIEw.VIEw as GrIDVIEw).Columns.CollectionChanged += ColumnsReordered;}private voID PreventDrag(object sender,MouseEventArgs e){ if (e.leftbutton == MousebuttonState.pressed) e.Handled = true;}private voID ColumnsReordered(object sender,NotifyCollectionChangedEventArgs e){ if (e.Action == NotifyCollectionChangedAction.Move) { var columns = sender as GrIDVIEwColumnCollection; if (columns != null) dispatcher.BeginInvoke((Action)(() => columns.Move(columns.IndexOf(FirstColumn.Column),0))); }}总结
以上是内存溢出为你收集整理的c# – 防止重新排序第一列全部内容,希望文章能够帮你解决c# – 防止重新排序第一列所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)