powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / wpf: прокрутка текста в TextBox
5 сообщений из 5, страница 1 из 1
wpf: прокрутка текста в TextBox
    #35036705
Здравствуйте,
подскажите как накрутить анимацию так чтобы был эффект прокрутки строки в textbox (label) ?
типа бегущей строки
...
Рейтинг: 0 / 0
wpf: прокрутка текста в TextBox
    #35036720
Если прокрутка текста ВНУТРИ TextBox, то тут надо играться серьезно. Содержимое текстбокса - это компонент сам в себе. Никакие стили внутрь него не лезут (хотя надо посмотреть внимательно на проперти - если будет какая-нибудь депенданси проверть, регулирующая смещения текста внутри, то можно заюзать ее). Ну, а в принципе, делается так:

<Window x:Class="MarqueeExample.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="300">
<StackPanel>
<TextBlock>
<TextBlock.RenderTransform>
<TranslateTransform x:Name="t1" />
</TextBlock.RenderTransform>
<TextBlock.Triggers>
<EventTrigger RoutedEvent="FrameworkElement.Loaded">
<BeginStoryboard>
<Storyboard RepeatBehavior="Forever">
<DoubleAnimation From="300" To="-300"
Storyboard.TargetName="t1"
Storyboard.TargetProperty="X"
Duration="0:0:5" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</TextBlock.Triggers>
This is marquee for TextBlock. Understandable.
</TextBlock>

<TextBox>
<TextBox.RenderTransform>
<TranslateTransform x:Name="t2" />
</TextBox.RenderTransform>
<TextBox.Triggers>
<EventTrigger RoutedEvent="FrameworkElement.Loaded">
<BeginStoryboard>
<Storyboard RepeatBehavior="Forever">
<DoubleAnimation From="300" To="-300"
Storyboard.TargetName="t2"
Storyboard.TargetProperty="X"
Duration="0:0:10" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</TextBox.Triggers>
This is for TextBox. Why???!!!
</TextBox>
</StackPanel>
</Window>
...
Рейтинг: 0 / 0
wpf: прокрутка текста в TextBox
    #35036732
Volhv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кто бы это помогЗдравствуйте,
подскажите как накрутить анимацию так чтобы был эффект прокрутки строки в textbox (label) ?
типа бегущей строки

есть один алгоритм - работает с редакторами типа Label
по тику таймера переносить из начала строки первый символ - в конец строки
и типа текст бокс - переносить первую строчку в конец коллекции
(переносить или убирать)

но ето все искусственные механизмы именно для слайдов - тоесть текст бегущей строкой
...
Рейтинг: 0 / 0
wpf: прокрутка текста в TextBox
    #35036764
Я тут дополнительно подумал...

Если кейз состоит в том, чтобы пустить бегущюю строку в TextBox (типа подсказка "Введите слово для поиска"), а в момент фокуса эту подсказку убирать, то примерные действия, наверное, должны выглядеть так -

Создать usercontrol, содержащий Border TextBox (x:Name="theTextBox").

У текстбокса убрать бордер (BorderThickness = "0"), чтобы его смещение не вызывало вопросов.

Объявить DependancyProperty double LeftMargin, которая будет AffectRender и гдe в callback прописать, как она будет изменять левую границу margin у this.theTextBox

Объявить какую-нибудь проперть, чиста чтобы задавать этот текст подсказки.

Дальше на Loaded this.theTextBox.Text = "эта подсказка" и запускать анимацию этой LeftMargin (как в предыдужем примере).

На GotFocus textbox эту анимацию убирать, LeftMargin=0 и Text делать пустым.

На LostFocus смотреть, если Text по-прежнему пустой, то повторять то, что было Loaded.

Но все это надо, конечно проверить, что мне лениво. Если надо, попробуйте.
...
Рейтинг: 0 / 0
wpf: прокрутка текста в TextBox
    #35036785
Если с LeftMargin не хочется возиться, можно юзать X у Transform, как в предыдущем примере. В любом случае, убирайте бордер и обрабатывайте GotFocus, LostFocus. Иначе - надо переписывать собственно TextBox (eго ContentControl).
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / wpf: прокрутка текста в TextBox
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]