using System.Collections.ObjectModel; using MiniMvvm; namespace ControlCatalog.ViewModels; public sealed class TableViewPageViewModel : ViewModelBase { public ObservableCollection Countries { get; } = [ new("Afghanistan", "ASIA (EX. NEAR EAST)", 31056997, 647500, 700), new("Albania", "EASTERN EUROPE", 3581655, 28748, 4500), new("Algeria", "NORTHERN AFRICA", 32930091, 2381740, 6000), new("American Samoa", "OCEANIA", 57794, 199, 8000), new("Andorra", "WESTERN EUROPE", 71201, 468, 19000), new("Angola", "SUB-SAHARAN AFRICA", 12127071, 1246700, 1900), new("Anguilla", "LATIN AMER. & CARIB", 13477, 102, 8600), new("Antigua & Barbuda", "LATIN AMER. & CARIB", 69108, 443, 11000), new("Argentina", "LATIN AMER. & CARIB", 39921833, 2766890, 11200), new("Armenia", "C.W. OF IND. STATES", 2976372, 29800, 3500), new("Aruba", "LATIN AMER. & CARIB", 71891, 193, 28000), new("Australia", "OCEANIA", 20264082, 7686850, 29000), new("Austria", "WESTERN EUROPE", 8192880, 83870, 30000), new("Azerbaijan", "C.W. OF IND. STATES", 7961619, 86600, 3400), new("The Bahamas", "LATIN AMER. & CARIB", 303770, 13940, 16700), new("Bahrain", "NEAR EAST", 698585, 665, 16900), new("Bangladesh", "ASIA (EX. NEAR EAST)", 147365352, 144000, 1900), new("Barbados", "LATIN AMER. & CARIB", 279912, 431, 15700), new("Belarus", "C.W. OF IND. STATES", 10293011, 207600, 6100), new("Belgium", "WESTERN EUROPE", 10379067, 30528, 29100), new("Belize", "LATIN AMER. & CARIB", 287730, 22966, 4900), new("Benin", "SUB-SAHARAN AFRICA", 7862944, 112620, 1100), new("Bermuda", "NORTHERN AMERICA", 65773, 53, 36000), new("Bhutan", "ASIA (EX. NEAR EAST)", 2279723, 47000, 1300), new("Bolivia", "LATIN AMER. & CARIB", 8989046, 1098580, 2400), new("Bosnia & Herzegovina", "EASTERN EUROPE", 4498976, 51129, 6100), new("Botswana", "SUB-SAHARAN AFRICA", 1639833, 600370, 9000), new("Brazil", "LATIN AMER. & CARIB", 188078227, 8511965, 7600), new("British Virgin Is.", "LATIN AMER. & CARIB", 23098, 153, 16000), new("Brunei", "ASIA (EX. NEAR EAST)", 379444, 5770, 18600), new("Bulgaria", "EASTERN EUROPE", 7385367, 110910, 7600), new("Burkina Faso", "SUB-SAHARAN AFRICA", 13902972, 274200, 1100), new("Burma", "ASIA (EX. NEAR EAST)", 47382633, 678500, 1800), new("Burundi", "SUB-SAHARAN AFRICA", 8090068, 27830, 600), new("Cambodia", "ASIA (EX. NEAR EAST)", 13881427, 181040, 1900), new("Cameroon", "SUB-SAHARAN AFRICA", 17340702, 475440, 1800), new("Canada", "NORTHERN AMERICA", 33098932, 9984670, 29800), new("Cape Verde", "SUB-SAHARAN AFRICA", 420979, 4033, 1400), new("Cayman Islands", "LATIN AMER. & CARIB", 45436, 262, 35000), new("Central African Rep.", "SUB-SAHARAN AFRICA", 4303356, 622984, 1100), new("Chad", "SUB-SAHARAN AFRICA", 9944201, 1284000, 1200), new("Chile", "LATIN AMER. & CARIB", 16134219, 756950, 9900), new("China", "ASIA (EX. NEAR EAST)", 1313973713, 9596960, 5000), new("Colombia", "LATIN AMER. & CARIB", 43593035, 1138910, 6300), new("Comoros", "SUB-SAHARAN AFRICA", 690948, 2170, 700), new("Congo, Dem.Rep.", "SUB - SAHARAN AFRICA", 62660551, 2345410, 700), new("Congo, Repub.of the", "SUB - SAHARAN AFRICA", 3702314, 342000, 700), new("Cook Islands", "OCEANIA", 21388, 240, 5000), new("Costa Rica", "LATIN AMER. & CARIB", 4075261, 51100, 9100), new("Cote d'Ivoire", "SUB-SAHARAN AFRICA", 17654843, 322460, 1400), new("Croatia", "EASTERN EUROPE", 4494749, 56542, 10600), new("Cuba", "LATIN AMER. & CARIB", 11382820, 110860, 2900), new("Cyprus", "NEAR EAST", 784301, 9250, 19200), new("Czech Republic", "EASTERN EUROPE", 10235455, 78866, 15700), new("Denmark", "WESTERN EUROPE", 5450661, 43094, 31100), new("Djibouti", "SUB-SAHARAN AFRICA", 486530, 23000, 1300), new("Dominica", "LATIN AMER. & CARIB", 68910, 754, 5400), new("Dominican Republic", "LATIN AMER. & CARIB", 9183984, 48730, 6000), new("East Timor", "ASIA (EX. NEAR EAST)", 1062777, 15007, 500), new("Ecuador", "LATIN AMER. & CARIB", 13547510, 283560, 3300), new("Egypt", "NORTHERN AFRICA", 78887007, 1001450, 4000), new("El Salvador", "LATIN AMER. & CARIB", 6822378, 21040, 4800), new("Equatorial Guinea", "SUB-SAHARAN AFRICA", 540109, 28051, 2700), new("Eritrea", "SUB-SAHARAN AFRICA", 4786994, 121320, 700), new("Estonia", "BALTICS", 1324333, 45226, 12300), new("Ethiopia", "SUB-SAHARAN AFRICA", 74777981, 1127127, 700), new("Faroe Islands", "WESTERN EUROPE", 47246, 1399, 22000), new("Fiji", "OCEANIA", 905949, 18270, 5800), new("Finland", "WESTERN EUROPE", 5231372, 338145, 27400), new("France", "WESTERN EUROPE", 60876136, 547030, 27600), new("French Guiana", "LATIN AMER. & CARIB", 199509, 91000, 8300), new("French Polynesia", "OCEANIA", 274578, 4167, 17500), new("Gabon", "SUB-SAHARAN AFRICA", 1424906, 267667, 5500), new("Gambia, The", "SUB - SAHARAN AFRICA", 1641564, 11300, 1700), new("Gaza Strip", "NEAR EAST", 1428757, 360, 600), new("Georgia", "C.W. OF IND. STATES", 4661473, 69700, 2500), new("Germany", "WESTERN EUROPE", 82422299, 357021, 27600), new("Ghana", "SUB-SAHARAN AFRICA", 22409572, 239460, 2200), new("Gibraltar", "WESTERN EUROPE", 27928, 7, 17500), new("Greece", "WESTERN EUROPE", 10688058, 131940, 20000), new("Greenland", "NORTHERN AMERICA", 56361, 2166086, 20000), new("Grenada", "LATIN AMER. & CARIB", 89703, 344, 5000), new("Guadeloupe", "LATIN AMER. & CARIB", 452776, 1780, 8000), new("Guam", "OCEANIA", 171019, 541, 21000), new("Guatemala", "LATIN AMER. & CARIB", 12293545, 108890, 4100), new("Guernsey", "WESTERN EUROPE", 65409, 78, 20000), new("Guinea", "SUB-SAHARAN AFRICA", 9690222, 245857, 2100), new("Guinea-Bissau", "SUB-SAHARAN AFRICA", 1442029, 36120, 800), new("Guyana", "LATIN AMER. & CARIB", 767245, 214970, 4000), new("Haiti", "LATIN AMER. & CARIB", 8308504, 27750, 1600), new("Honduras", "LATIN AMER. & CARIB", 7326496, 112090, 2600), new("Hong Kong", "ASIA (EX. NEAR EAST)", 6940432, 1092, 28800), new("Hungary", "EASTERN EUROPE", 9981334, 93030, 13900), new("Iceland", "WESTERN EUROPE", 299388, 103000, 30900), new("India", "ASIA (EX. NEAR EAST)", 1095351995, 3287590, 2900), new("Indonesia", "ASIA (EX. NEAR EAST)", 245452739, 1919440, 3200), new("Iran", "ASIA (EX. NEAR EAST)", 68688433, 1648000, 7000), new("Iraq", "NEAR EAST", 26783383, 437072, 1500), new("Ireland", "WESTERN EUROPE", 4062235, 70280, 29600), new("Isle of Man", "WESTERN EUROPE", 75441, 572, 21000), new("Israel", "NEAR EAST", 6352117, 20770, 19800), new("Italy", "WESTERN EUROPE", 58133509, 301230, 26700), new("Jamaica", "LATIN AMER. & CARIB", 2758124, 10991, 3900), new("Japan", "ASIA (EX. NEAR EAST)", 127463611, 377835, 28200), new("Jersey", "WESTERN EUROPE", 91084, 116, 24800), new("Jordan", "NEAR EAST", 5906760, 92300, 4300), new("Kazakhstan", "C.W. OF IND. STATES", 15233244, 2717300, 6300), new("Kenya", "SUB-SAHARAN AFRICA", 34707817, 582650, 1000), new("Kiribati", "OCEANIA", 105432, 811, 800), new("North Korea", "ASIA(EX.NEAR EAST)", 23113019, 120540, 1300), new("South Korea", "ASIA(EX.NEAR EAST)", 48846823, 98480, 17800), new("Kuwait", "NEAR EAST", 2418393, 17820, 19000), new("Kyrgyzstan", "C.W. OF IND. STATES", 5213898, 198500, 1600), new("Laos", "ASIA (EX. NEAR EAST)", 6368481, 236800, 1700), new("Latvia", "BALTICS", 2274735, 64589, 10200), new("Lebanon", "NEAR EAST", 3874050, 10400, 4800), new("Lesotho", "SUB-SAHARAN AFRICA", 2022331, 30355, 3000), new("Liberia", "SUB-SAHARAN AFRICA", 3042004, 111370, 1000), new("Libya", "NORTHERN AFRICA", 5900754, 1759540, 6400), new("Liechtenstein", "WESTERN EUROPE", 33987, 160, 25000), new("Lithuania", "BALTICS", 3585906, 65200, 11400), new("Luxembourg", "WESTERN EUROPE", 474413, 2586, 55100), new("Macau", "ASIA (EX. NEAR EAST)", 453125, 28, 19400), new("Macedonia", "EASTERN EUROPE", 2050554, 25333, 6700), new("Madagascar", "SUB-SAHARAN AFRICA", 18595469, 587040, 800), new("Malawi", "SUB-SAHARAN AFRICA", 13013926, 118480, 600), new("Malaysia", "ASIA (EX. NEAR EAST)", 24385858, 329750, 9000), new("Maldives", "ASIA (EX. NEAR EAST)", 359008, 300, 3900), new("Mali", "SUB-SAHARAN AFRICA", 11716829, 1240000, 900), new("Malta", "WESTERN EUROPE", 400214, 316, 17700), new("Marshall Islands", "OCEANIA", 60422, 11854, 1600), new("Martinique", "LATIN AMER. & CARIB", 436131, 1100, 14400), new("Mauritania", "SUB-SAHARAN AFRICA", 3177388, 1030700, 1800), new("Mauritius", "SUB-SAHARAN AFRICA", 1240827, 2040, 11400), new("Mayotte", "SUB-SAHARAN AFRICA", 201234, 374, 2600), new("Mexico", "LATIN AMER. & CARIB", 107449525, 1972550, 9000), new("Micronesia, Fed.St.", "OCEANIA", 108004, 702, 2000), new("Moldova", "C.W. OF IND. STATES", 4466706, 33843, 1800), new("Monaco", "WESTERN EUROPE", 32543, 2, 27000), new("Mongolia", "ASIA (EX. NEAR EAST)", 2832224, 1564116, 1800), new("Montserrat", "LATIN AMER. & CARIB", 9439, 102, 3400), new("Morocco", "NORTHERN AFRICA", 33241259, 446550, 4000), new("Mozambique", "SUB-SAHARAN AFRICA", 19686505, 801590, 1200), new("Namibia", "SUB-SAHARAN AFRICA", 2044147, 825418, 7200), new("Nauru", "OCEANIA", 13287, 21, 5000), new("Nepal", "ASIA (EX. NEAR EAST)", 28287147, 147181, 1400), new("Netherlands", "WESTERN EUROPE", 16491461, 41526, 28600), new("Netherlands Antilles", "LATIN AMER. & CARIB", 221736, 960, 11400), new("New Caledonia", "OCEANIA", 219246, 19060, 15000), new("New Zealand", "OCEANIA", 4076140, 268680, 21600), new("Nicaragua", "LATIN AMER. & CARIB", 5570129, 129494, 2300), new("Niger", "SUB-SAHARAN AFRICA", 12525094, 1267000, 800), new("Nigeria", "SUB-SAHARAN AFRICA", 131859731, 923768, 900), new("N. Mariana Islands", "OCEANIA", 82459, 477, 12500), new("Norway", "WESTERN EUROPE", 4610820, 323802, 37800), new("Oman", "NEAR EAST", 3102229, 212460, 13100), new("Pakistan", "ASIA (EX. NEAR EAST)", 165803560, 803940, 2100), new("Palau", "OCEANIA", 20579, 458, 9000), new("Panama", "LATIN AMER. & CARIB", 3191319, 78200, 6300), new("Papua New Guinea", "OCEANIA", 5670544, 462840, 2200), new("Paraguay", "LATIN AMER. & CARIB", 6506464, 406750, 4700), new("Peru", "LATIN AMER. & CARIB", 28302603, 1285220, 5100), new("Philippines", "ASIA (EX. NEAR EAST)", 89468677, 300000, 4600), new("Poland", "EASTERN EUROPE", 38536869, 312685, 11100), new("Portugal", "WESTERN EUROPE", 10605870, 92391, 18000), new("Puerto Rico", "LATIN AMER. & CARIB", 3927188, 13790, 16800), new("Qatar", "NEAR EAST", 885359, 11437, 21500), new("Reunion", "SUB-SAHARAN AFRICA", 787584, 2517, 5800), new("Romania", "EASTERN EUROPE", 22303552, 237500, 7000), new("Russia", "C.W. OF IND. STATES", 142893540, 17075200, 8900), new("Rwanda", "SUB-SAHARAN AFRICA", 8648248, 26338, 1300), new("Saint Helena", "SUB-SAHARAN AFRICA", 7502, 413, 2500), new("Saint Kitts & Nevis", "LATIN AMER. & CARIB", 39129, 261, 8800), new("Saint Lucia", "LATIN AMER. & CARIB", 168458, 616, 5400), new("St Pierre & Miquelon", "NORTHERN AMERICA", 7026, 242, 6900), new("Saint Vincent and the Grenadines", "LATIN AMER. & CARIB", 117848, 389, 2900), new("Samoa", "OCEANIA", 176908, 2944, 5600), new("San Marino", "WESTERN EUROPE", 29251, 61, 34600), new("Sao Tome & Principe", "SUB-SAHARAN AFRICA", 193413, 1001, 1200), new("Saudi Arabia", "NEAR EAST", 27019731, 1960582, 11800), new("Senegal", "SUB-SAHARAN AFRICA", 11987121, 196190, 1600), new("Serbia", "EASTERN EUROPE", 9396411, 88361, 2200), new("Seychelles", "SUB-SAHARAN AFRICA", 81541, 455, 7800), new("Sierra Leone", "SUB-SAHARAN AFRICA", 6005250, 71740, 500), new("Singapore", "ASIA (EX. NEAR EAST)", 4492150, 693, 23700), new("Slovakia", "EASTERN EUROPE", 5439448, 48845, 13300), new("Slovenia", "EASTERN EUROPE", 2010347, 20273, 19000), new("Solomon Islands", "OCEANIA", 552438, 28450, 1700), new("Somalia", "SUB-SAHARAN AFRICA", 8863338, 637657, 500), new("South Africa", "SUB-SAHARAN AFRICA", 44187637, 1219912, 10700), new("Spain", "WESTERN EUROPE", 40397842, 504782, 22000), new("Sri Lanka", "ASIA (EX. NEAR EAST)", 20222240, 65610, 3700), new("Sudan", "SUB-SAHARAN AFRICA", 41236378, 2505810, 1900), new("Suriname", "LATIN AMER. & CARIB", 439117, 163270, 4000), new("Swaziland", "SUB-SAHARAN AFRICA", 1136334, 17363, 4900), new("Sweden", "WESTERN EUROPE", 9016596, 449964, 26800), new("Switzerland", "WESTERN EUROPE", 7523934, 41290, 32700), new("Syria", "NEAR EAST", 18881361, 185180, 3300), new("Taiwan", "ASIA (EX. NEAR EAST)", 23036087, 35980, 23400), new("Tajikistan", "C.W. OF IND. STATES", 7320815, 143100, 1000), new("Tanzania", "SUB-SAHARAN AFRICA", 37445392, 945087, 600), new("Thailand", "ASIA (EX. NEAR EAST)", 64631595, 514000, 7400), new("Togo", "SUB-SAHARAN AFRICA", 5548702, 56785, 1500), new("Tonga", "OCEANIA", 114689, 748, 2200), new("Trinidad & Tobago", "LATIN AMER. & CARIB", 1065842, 5128, 9500), new("Tunisia", "NORTHERN AFRICA", 10175014, 163610, 6900), new("Turkey", "NEAR EAST", 70413958, 780580, 6700), new("Turkmenistan", "C.W. OF IND. STATES", 5042920, 488100, 5800), new("Turks & Caicos Is", "LATIN AMER. & CARIB", 21152, 430, 9600), new("Tuvalu", "OCEANIA", 11810, 26, 1100), new("Uganda", "SUB-SAHARAN AFRICA", 28195754, 236040, 1400), new("Ukraine", "C.W. OF IND. STATES", 46710816, 603700, 5400), new("United Arab Emirates", "NEAR EAST", 2602713, 82880, 23200), new("United Kingdom", "WESTERN EUROPE", 60609153, 244820, 27700), new("United States", "NORTHERN AMERICA", 298444215, 9631420, 37800), new("Uruguay", "LATIN AMER. & CARIB", 3431932, 176220, 12800), new("Uzbekistan", "C.W. OF IND. STATES", 27307134, 447400, 1700), new("Vanuatu", "OCEANIA", 208869, 12200, 2900), new("Venezuela", "LATIN AMER. & CARIB", 25730435, 912050, 4800), new("Vietnam", "ASIA (EX. NEAR EAST)", 84402966, 329560, 2500), new("Virgin Islands", "LATIN AMER. & CARIB", 108605, 1910, 17200), new("Wallis and Futuna", "OCEANIA", 16025, 274, 3700), new("West Bank", "NEAR EAST", 2460492, 5860, 800), new("Yemen", "NEAR EAST", 21456188, 527970, 800), new("Zambia", "SUB-SAHARAN AFRICA", 11502010, 752614, 800), new("Zimbabwe", "SUB-SAHARAN AFRICA", 12236805, 390580, 1900) ]; public sealed class Country(string name, string region, int population, int area, int gdp) { public string Name { get; set; } = name; public string Region { get; set; } = region; public int Population { get; set; } = population; public int Area { get; set; } = area; // Square miles public int GDP { get; set; } = gdp; } }