查了下資料,listbox不帶排序功能,所以要從資料來源入手,自己實現乙個list的sort方法,主要就是那個icomparer介面的實現。
原文在這裡
下面是測試**,只是簡單的對int進行排序,把那篇文章的內容簡化了。熟悉下最基本的實現。
1<
usercontrol
x:class
="sl.listboxsort.mainpage"
2xmlns
=""3xmlns:x
=""4xmlns:d
=""5xmlns:mc
=""6mc:ignorable
="d"
7d:designheight
="300"
d:designwidth
="400"
>89
<
grid
x:name
="layoutroot"
background
="white"
>
10<
listbox
loaded
="lb1_loaded"
x:name
="lb1"
height
="300"
horizontalalignment
="left"
verticalalignment
="top"
width
="130"
margin
="120,0,0,0"
>
11<
listbox.itemtemplate
>
12<
datatemplate
>
13<
textblock
text=""
/>
14datatemplate
>
15listbox.itemtemplate
>
16listbox
>
17grid
>
18usercontrol
>
usingsystem;
using
system.collections.generic;
using
system.linq;
using
system.net;
using
system.windows;
using
system.windows.controls;
using
system.windows.documents;
using
system.windows.input;
using
system.windows.media;
using
system.windows.media.animation;
using
system.windows.shapes;
using
system.componentmodel;
using
system.collections;
using
system.reflection;
namespace
sl.listboxsort
private
void lb1_loaded(object
sender, routedeventargs e)
}#region 資料集
public
class
lbdata:inotifypropertychanged
public
string
name
public
intrate
#region impliment
public
event
propertychangedeventhandler propertychanged;
private
void onpropertychanged(string
propertyname)
}#endregion
}
#endregion
#region 自定義的乙個list,因為測試只是最簡單的實現,發現沒必要用上這個,在資料文章裡面這裡還提供了公升序還是降序排列的功能
public
class mylist: list
}#endregion
#region icomparer介面實現,用來自定義排序規則
public
class gcomparer: icomparer
}#endregion
LIS問題的簡短
飛彈攔截 時間複雜度o nlogn 求最長上公升子串行時 dp p p代表最長不上公升子串行的子串行的編號從1開始增加,根據dw定理,最大的m編號即是最長上公升子串行的長度也是最少分成了m組非上公升子串行。include using namespace std int a 100010 dp1 10...
Silverlight中的DataGrid繫結資料
首先寫乙個類 public class employee public string lastname public decimal salary public datetime startdate public bool isvested public string gender 接著再寫乙個類,...
Silverlight中的DataGrid繫結資料
首先寫乙個類 public class employee public string lastname public decimal salary public datetime startdate public bool isvested public string gender 接著再寫乙個類,...