MVVMを使用していて、ComboBox
を昇順に並べ替える必要があります。 ObservableCollection
に保存されているアイテム(データベースから)は、常に文字列として格納されています。c#Linq(ObservableCollection)を使用している文字列であるComboBoxの注文番号
私が10を超えると、私のComboBox
は、1
と表示され、続いて10
と表示されます。
正しく並べ替えるためにLinqを調整できますか?
これは間違っていますか?
public ObservableCollection<clsItemsModel> MyCollection
{
get { return _MyCollection; }
set
{
_MyCollection = value;
RaisePropertyChanged();
}
}
private void LoadData()
{
MyCollection = _clsItemsDataService.GetItems();
MyCollection.OrderBy(p => p.Items);
}
ソートする前に文字列をintに変換する必要があります。例えば、1 3 9 10の代わりに1 10 3 9のようにします。 – itsme86
'int.Parse(p.Items)'? (「Items」は*単一の値*の直感的な名前のように見えますが) – David
答えはここにあります: http://stackoverflow.com/questions/6396378/c-sharp-linq-orderby-numbers-that-are-文字列と変換できません –