PDA

View Full Version : ایجاد ToolTip برای TextRange



hamidkh
یک شنبه 12 شهریور 1391, 12:47 عصر
سلام
میخواستم ببینم میشه برای TextRange با استفاده از ApplyPropertyValue یا هر راه دیگه ToolTip گذاشت؟ نمیخوام از Run استفاده کنم.

hamidkh
دوشنبه 13 شهریور 1391, 08:51 صبح
منتظر پاسخ دوستان هستم.

یاسردرا
دوشنبه 13 شهریور 1391, 13:02 عصر
http://stackoverflow.com/questions/5928809/show-tooltip-on-richtextbox
ببین این به دردت میخوره یانه؟

دوست عزیز خیلی خودتو گیج نکن.خب چرا نمی خواید ازrunاستفده کنید؟؟؟؟
مشکلتونو دقیقا بگید تا واستون یه نمونه بزارم.
موفق باشی

hamidkh
دوشنبه 13 شهریور 1391, 13:10 عصر
ممنون.
ببینید من میخوام که روی محتوایی که دارم مثلا یه کتاب، بوک مارک بذارم. کاربر بیاد قسمتی از متن رو انتخاب کنه و یه بوک مارک روش بزنه. حالا من میخوام یه طور نشون بدم که اینجا بوک مارک خورده و اگر هم موضوعی برای بوک مارک نوشته بود (البته اینطوری میشه ترکیبی از بوک مارک و کامنت) براش به صورت تول تیپ نمایش بدم. البته textrange و run جفتشون باعث میشن که محتوای من به هم بریزه.یعنی اگه توی پاراگراف قبلی یه بوک مارک خورده باشه و من با استفاده از run یا textrange تغییری تو اون قسمت متن بدم جای بقیه بوک مارک هام جابجا میشه. نمیدونم باید چکار کنم که این مشکل حل بشه. البته برای این کار میشه از Annotation هم استفاده کرد. ولی نیاز به فایل xml داره و اینکه دست ادم برای اضافه کردن امکانات بهش باز نیس خیلی. لطف میکنید اگه راهنمایی کنید

یاسردرا
دوشنبه 13 شهریور 1391, 23:00 عصر
برای این کار باید خودتون کمی خلاقیت داشته باشید.
برای مثال با ApplyPropertyValue برای هرکلمه مورد نظر یک رنگ یا یک استایل خاص در نظر بگیرید یا برای هرکلمه مورد نظر ابتدا و پایان اون رو یک نشانه قرار بدید و ...
بعد از این کار می تونید یک پنجره قرار بدید که با در نظر گرفتن یک کلمه مورد نظر ظاهر بشه و کامنت مورد نظر رو بنویسه بعد از اون درون یک دیتابیس ثبت بشه.
و وقتی هم که کاربر موس رو متن قرار داد چک بشه ایا بوک مارک شده یا نه و اگه شده متن رو چک کنه و سپس از دیتابیس فراخوانی کنه.
اینا بدردت می خوره:
http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/f722e0c0-0e6c-4b89-9253-f5aa264591e5
http://social.msdn.microsoft.com/Forums/en/wpf/thread/7c9a622a-4e3b-451e-bc4c-ab9d011447e0
http://stackoverflow.com/questions/1454440/select-range-of-text-in-wpf-richtextbox-flowdocument-programmatically
http://www.codeproject.com/Articles/2657/RichTextBox-with-background-highlighting-in-VB-NET
http://stackoverflow.com/questions/5685644/c-sharp-wpf-highlight-text-in-richtextbox
http://wpfsyntax.codeplex.com/releases/view/35729
http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/5c90ecbc-9728-4c59-a9ea-d2b61b07ddbc
اینم:
http://stackoverflow.com/questions/3496865/wpf-richtextbox-how-to-change-selected-text-font
http://msdn.microsoft.com/en-us/library/ms752316.aspx
این:
http://stackoverflow.com/questions/6844030/get-the-current-cursor-position-value-in-richtextbox-in-wpf
http://stackoverflow.com/questions/2224243/richtextbox-and-inserting-at-caret-positions
http://stackoverflow.com/questions/3046162/how-to-keep-track-of-textpointer-in-wpf-richtextbox
http://social.msdn.microsoft.com/Forums/en-US/winforms/thread/5cdd3e1e-8c12-408e-aca9-7fbaeed4b028

hamidkh
سه شنبه 14 شهریور 1391, 08:27 صبح
ممنون
یه راهی که پیدا کردم اینه که اومدم تمامی Inlineهای پاراگرافی که textrange داره، با همون textrange مقایسه کردم و اگه باهم یکی بودن براش tooltip گذاشتم. البته من از FlowDocumentScrollViewer استفاده میکنم. ولی باز هم اگر کاربر متنی رو که برای بوک مارک انتخاب کرده شامل 2 پاراگراف باشه کمی به مشکل میخورم که تقریبا یه فکری به حالش کردم.