浏览代码

Wpf DataGrid怎么自定义排序……

yuzhengyang 8 年之前
父节点
当前提交
bb6d6bce6f

+ 14 - 7
Fork.Net/Oreo.PCMonitor/Views/NetDetailsWindow.xaml

@@ -12,14 +12,21 @@
         <TabControl x:Name="tabControl" HorizontalAlignment="Left" Height="336" Margin="10,73,0,0" VerticalAlignment="Top" Width="622">
             <TabItem Header="程序网速">
                 <Grid Background="#FFE5E5E5">
-                    <DataGrid x:Name="dataGrid" HorizontalAlignment="Left" VerticalAlignment="Top" Height="307" Width="616" ColumnWidth="SizeToHeader" ItemsSource="{Binding ObNetPro}" AutoGenerateColumns="False">
+                    <DataGrid x:Name="dataGrid" HorizontalAlignment="Left" VerticalAlignment="Top" Height="307" Width="616" ColumnWidth="SizeToHeader" ItemsSource="{Binding ObNetPro}" AutoGenerateColumns="False"  PreviewMouseLeftButtonDown="Order">
                         <DataGrid.Columns>
-                            <DataGridTextColumn Binding="{Binding ProcessName}" ClipboardContentBinding="{x:Null}" Header="名称" Width="150"/>
-                            <DataGridTextColumn Binding="{Binding DownloadData}" ClipboardContentBinding="{x:Null}" Header="下载速度"/>
-                            <DataGridTextColumn Binding="{Binding UploadData}" ClipboardContentBinding="{x:Null}" Header="上传速度"/>
-                            <DataGridTextColumn Binding="{Binding DownloadData}" ClipboardContentBinding="{x:Null}" Header="已下载流量"/>
-                            <DataGridTextColumn Binding="{Binding UploadDataCount}" ClipboardContentBinding="{x:Null}" Header="已上传流量"/>
-                            <DataGridTextColumn Binding="{Binding ConnectCount}" ClipboardContentBinding="{x:Null}" Header="连接数"/>
+                            <DataGridTextColumn Binding="{Binding ProcessName}" ClipboardContentBinding="{x:Null}" Header="名称" Width="200" CanUserReorder="False" IsReadOnly="True"/>
+                            <DataGridTemplateColumn Header="头像" Width="80" IsReadOnly="True">
+                                <DataGridTemplateColumn.CellTemplate>
+                                    <DataTemplate>
+                                        <Image Height="40"  Source="{Binding ProcessIcon}"  />
+                                    </DataTemplate>
+                                </DataGridTemplateColumn.CellTemplate>
+                            </DataGridTemplateColumn>
+                            <DataGridTextColumn Binding="{Binding DownloadData}" ClipboardContentBinding="{x:Null}" Header="下载速度" Width="80" SortDirection="Descending" CanUserReorder="False" IsReadOnly="True" />
+                            <DataGridTextColumn Binding="{Binding UploadData}" ClipboardContentBinding="{x:Null}" Header="上传速度" Width="80" SortDirection="Descending" CanUserReorder="False" IsReadOnly="True"/>
+                            <DataGridTextColumn Binding="{Binding DownloadData}" ClipboardContentBinding="{x:Null}" Header="已下载流量" Width="80" SortDirection="Descending" CanUserReorder="False" IsReadOnly="True"/>
+                            <DataGridTextColumn Binding="{Binding UploadDataCount}" ClipboardContentBinding="{x:Null}" Header="已上传流量" Width="80" SortDirection="Descending" CanUserReorder="False" IsReadOnly="True"/>
+                            <DataGridTextColumn Binding="{Binding ConnectCount}" ClipboardContentBinding="{x:Null}" Header="连接数" Width="50" SortDirection="Descending" CanUserReorder="False" IsReadOnly="True"/>
                         </DataGrid.Columns>
                     </DataGrid>
                 </Grid>

+ 3 - 1
Fork.Net/Oreo.PCMonitor/Views/NetDetailsWindow.xaml.cs

@@ -73,7 +73,9 @@ namespace Oreo.PCMonitor.Views
                 }
             });
         }
-        public void Order() { }
+        public void Order(object sender, MouseButtonEventArgs e)
+        { 
+        }
         private void UIDgProcessDetailUpdate()
         {
             Dispatcher.Invoke(new Action(() =>

+ 1 - 0
Fork.Net/Oreo.PCMonitorWF/Views/MainForm.Designer.cs

@@ -39,6 +39,7 @@
             this.button1.TabIndex = 0;
             this.button1.Text = "button1";
             this.button1.UseVisualStyleBackColor = true;
+            this.button1.Click += new System.EventHandler(this.button1_Click);
             // 
             // MainForm
             // 

+ 5 - 0
Fork.Net/Oreo.PCMonitorWF/Views/MainForm.cs

@@ -13,5 +13,10 @@ namespace Oreo.PCMonitor.Views
         {
             new NetDetailForm().Show();
         }
+
+        private void button1_Click(object sender, EventArgs e)
+        {
+
+        }
     }
 }