Здравствуйте, Ziaw, Вы писали:
Z>Есть одно окно в котором я уже умею скроллировать текст. Нужно еще одно окно которое одновременно показывает что-то типа thumba первого в реальном времени. Как это умеет делать Windows 7 на всякие видеоплееры в таскбаре. Вопрос в заключается в том, чтобы понять: отрисовывать
Используй VisualBrush. Например, можно сделать такое окно:
public partial class ThumbnailWindow : Window
{
public ThumbnailWindow(Visual source)
{
InitializeComponent();
this.Background = new VisualBrush(source);
}
}
В его фон будет вписываться содержимое элемента, который ты передашь в конструктор. Window унаследован от Visual, так что сможешь и его передать.
Z>P.S. Текст я скролирую просто применяя DoubleAnimation к координатам текста, нормальная практика? Бывают иногда подергивания, причем это не зависит от мощности компа явно. Кто нибудь знает как от них избавиться?
К сожалению, с анимациями я практически не сталкиваюсь. Боюсь подергивания не исправить. Кажись WPF что-то хитрит при скроллинге текста, делая его немного расплывчатым. Думаю, именно это и создает эффект задержки. Впрочем, может я и ошибаюсь.
Задача — скроллировать текст в одном большом окне. Осложняется тем, что одновременно на другом мониторе должно находиться управляющее окно в котором есть небольшой контрол показывающий содержимое большого окна. Есть конечно путь в лоб, рисовать то же самое, вычисляя и задавая, нужный масштаб. Но может есть более простые способы?
В WPF я новичок, если единственный метод — в лоб, буду благодарен любым советам по реализации.
Re: [WPF] Просмотр содержимого одного окна в другом
Здравствуйте, Ziaw, Вы писали:
Z>Задача — скроллировать текст в одном большом окне. Осложняется тем, что одновременно на другом мониторе должно находиться управляющее окно в котором есть небольшой контрол показывающий содержимое большого окна. Есть конечно путь в лоб, рисовать то же самое, вычисляя и задавая, нужный масштаб. Но может есть более простые способы?
Я не понял, в чем задача? Показывать одно окно в другом или скролливать текст? Как насчет VisualBrush?
Re[2]: [WPF] Просмотр содержимого одного окна в другом
Здравствуйте, MxMsk, Вы писали:
Z>>Задача — скроллировать текст в одном большом окне. Осложняется тем, что одновременно на другом мониторе должно находиться управляющее окно в котором есть небольшой контрол показывающий содержимое большого окна. Есть конечно путь в лоб, рисовать то же самое, вычисляя и задавая, нужный масштаб. Но может есть более простые способы?
MM>Я не понял, в чем задача? Показывать одно окно в другом или скролливать текст? Как насчет VisualBrush?
Есть одно окно в котором я уже умею скроллировать текст. Нужно еще одно окно которое одновременно показывает что-то типа thumba первого в реальном времени. Как это умеет делать Windows 7 на всякие видеоплееры в таскбаре. Вопрос в заключается в том, чтобы понять: отрисовывать
P.S. Текст я скролирую просто применяя DoubleAnimation к координатам текста, нормальная практика? Бывают иногда подергивания, причем это не зависит от мощности компа явно. Кто нибудь знает как от них избавиться?
Re[4]: [WPF] Просмотр содержимого одного окна в другом
Здравствуйте, MxMsk, Вы писали:
MM>Кажись WPF что-то хитрит при скроллинге текста, делая его немного расплывчатым. Думаю, именно это и создает эффект задержки. Впрочем, может я и ошибаюсь.
А что, есть штатный скролинг текста? Или просто добавить невидимый скролбар и им скролить? Сейчас я просто меняю координату встроенной анимацией. Надо еще попробовать вручную в отдельном потоке.
Re[5]: [WPF] Просмотр содержимого одного окна в другом
Здравствуйте, Ziaw, Вы писали:
Z>Здравствуйте, MxMsk, Вы писали:
MM>>Кажись WPF что-то хитрит при скроллинге текста, делая его немного расплывчатым. Думаю, именно это и создает эффект задержки. Впрочем, может я и ошибаюсь.
Z>А что, есть штатный скролинг текста? Или просто добавить невидимый скролбар и им скролить? Сейчас я просто меняю координату встроенной анимацией. Надо еще попробовать вручную в отдельном потоке.
По-моему будет лучше размещать текст в ScrollViewer'e, если конечно небольшой объем (при большом объеме нужна будет виртуализация).
Можно переопределить стиль ScrollViewer'a, и в анимации менять свойство VerticalOffset.
Re[5]: [WPF] Просмотр содержимого одного окна в другом
Здравствуйте, Ziaw, Вы писали:
Z>А что, есть штатный скролинг текста? Или просто добавить невидимый скролбар и им скролить? Сейчас я просто меняю координату встроенной анимацией. Надо еще попробовать вручную в отдельном потоке.
Насколько я понимаю, анимацию к тексту лучше применять через TextEffects: