ورود

View Full Version : روش برای بدست گرفتن کنترل آپدیت شدن کنترلهای روی صفحه؟؟؟چگونه؟



behnam263
چهارشنبه 23 بهمن 1392, 00:19 صبح
سلام
می خواستم بدونم آیا روشی هست که بشه در WPF فریم ریت (FBS)آپدیت شدن کنترل ها رو تو دستت بگیری.
یعنی مثلا متغییر ها در حال تغییر هستن ولی ما می خوایم در یک مدت زمان مقادیر رو داخل کنترل های صفحه اعمال نکنه چون مثلا قراره در Code behind یه سری Property ها از یه سری کنترل ها تغییر کنه ولی می خوام بعد از اینکه تمام اونها مثلا 1 ثانیه طول کشید حالا بگم که UpdateLayout.:متفکر:

سناریوی بعدی که میتونه مشکل من رو حل کنه اینه که یه مشت کنترل در Code behind دارم حالا میشه این یه مشت کنترل رو همه باهم یکی از Propertyهاشونو عوض کرد؟ چون مثلا یک For به صورت سری میتونه این یه مشت رو عوض کنه ولی هم زمان رو نمیدونم چطوری میشه. (مثلا یه لیست از کنترل هات داری حالا می خوای خاصیت Text رو تو همشون (نه دونه دونه که معلوم بشه دونه دونه داره عوض میشه) عوض کرد) :متفکر:

kiarash_90
یک شنبه 27 بهمن 1392, 01:15 صبح
بله.
با Thread میشه همچین سناریوی رواجرایی کرد .
باید تغییر حالتتون رو داخل یک Thread و فرم رو داخل Thread دیگه بزارید و با Dispatcher با زمان بازی کنید.

behnam263
یک شنبه 27 بهمن 1392, 19:48 عصر
ببینم با توجه به این که Propertyهای UIelementها معمولا Propertychange هستش آیا میشه یه جوری اونها رو Override کرد که مثلا زمانی که خودمون می خوایم آپدیت بشه؟ در حال حاضر مشکلم رو با یک صف حل کردم که یکم زمان sleep داره تا تغییرات جمع بشه بعد اعمال کنه ولی اگه میشد که UI رو یه جوری سرعتش رو کم کرد مثلا FPS رو کاهش داد خیلی بهتر بود