نقل قول نوشته شده توسط amirhossein_z مشاهده تاپیک
ممنون از پاسخی که دادید. الان حالت StackPanel به ListBox تغییر دادم و اسامی شهرهای داخل دیتابیس به صورت CheckBox در داخل ListBox نمایش داده شده.میشه راهنمایی کنید چطور با انتخاب چند شهر باهم یا انتخاب تکی شهر با زدن چک باکس نام شهر ، فقط اطلاعات مربوط به شهرهای انتخابی درون دیتاگریدویو نمایش داده بشه؟

شبیه این سایتهای فروشگاهی که نتیجه جستجو براساس فیلدهای انتخابی محدود می کنه...

مثلا یه دونه
Button باشه که با زدنش آیتمهای انتخابی فقط نمایش بده
سلامی مجدد
شما wpf کار میکنید اما از قابلیت هاش استفاده نمیکنید و بصورت دستی کد مینویسید .
این ، کارتون را در کدهای پیچیده ، سخت میکنه .

شما طبق توضیحات تون میخواید فیلتر کنید .
wpf برای این کار ، CollectionView (و CollectionViewSource) را داره که باید بهش Binding کنید .

وقتی شما به یک مجموعه (مثل List و ...) ، Binding میکنید ، مستقیما به اون شیِ مجموعه Binding نمیشه ، بلکه به شی CollectionView ای که خودش از اون مجموعه ی اصلی (مثل List و ...) استفاده میکنه ، Binding میشه .
بعد شما میتونید اون CollectionView را فیلتر کنید که مستقیما در شیِ Binding ای که بهش شده ، نمایش میده .

How to: Filter Data in a View - WPF .NET Framework | Microsoft Learn

Filtering Elements in a Collection in WPF (c-sharpcorner.com)

old-wpf-blog/29-MultipleFilters at master · bstollnitz/old-wpf-blog · GitHub


اما اگر از CollectionView استفاده نمیکنید (که مخصوصا در برنامه های بزرگ پیشنهاد نمیکنم که از این روش استفاده نکنید) ، حداقل میتونید از فقط Binding استفاده کنید . این طوری که یک مجموعه (مثل لیست و ...) ی مجزا برای فیلتر بسازید و DataGrid یا کنترل مورد نظرتون را بهش Binding کنید .

اما شما کاملا از روش دستی دارید استفاده میکنید و در رویدادتون کد مینویسید که کارتون را برای ویرایش و ... سخت میکنه .