Модераторы: gambit, Kefir, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> UserControl с внешним видом TextBox, как сделать? 
V
    Опции темы
snav
Дата 31.1.2010, 12:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 55
Регистрация: 8.9.2007

Репутация: 2
Всего: 4



Всем опять привет.
Возникла задача сделать собственный элемент управления. При этом надо, чтобы его внешний вид не отличался от стандартного TextBox (функционал контрола будет другой, поэтому наследовать класс от TextBox не хотелось бы, внутри моего контрола будет несколько дочерних контролов). Проблема, однако, в том, что в разных системах TextBox выглядит по-разному. Посоветуйте, как быть?

Это сообщение отредактировал(а) snav - 31.1.2010, 12:23
PM   Вверх
Partizan
Дата 31.1.2010, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

Репутация: 9
Всего: 67



snav, если функционал совсем уж другой - лично мне кажется не логичным использование внешнего вида textbox.

что будет делать контрол?


--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
snav
Дата 31.1.2010, 16:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 55
Регистрация: 8.9.2007

Репутация: 2
Всего: 4



Контрол предназначен для ввода нескольких текстовых полей, разделенных статическим текстом. Что-то типа MaskedTextBox. Внутри контрол будет содержать несколько дочерних TextBox (без рамки) и переход между ними будет по клавише Tab. То есть визульно - это должен быть как обычный TextBox, но редактироваться техт будет не целиком, а по частям.

Для примера, настройка времени в Windows:
user posted image

Это сообщение отредактировал(а) snav - 31.1.2010, 17:01
PM   Вверх
DjoNIK
Дата 2.2.2010, 11:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 320
Регистрация: 28.9.2006
Где: Питер/Георгиевск

Репутация: нет
Всего: 5



Может для тебя Border подойдет


--------------------
- Плесни-ка мне холодного кипятку.
- Как кипяток может быть холодным?! Ты, верно, хочешь кипяченой воды?
- Какая ещё кипяченая вода? Не пудри мне мозги - налейхолодного кипятку.
(разговор петербуржца и москвича)
PM MAIL ICQ   Вверх
snav
Дата 2.2.2010, 18:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 55
Регистрация: 8.9.2007

Репутация: 2
Всего: 4



Я сейчас использую Border. Но проблема в том, как узнать, какую кисть и какие закругления нужно использвать.
PM   Вверх
exBlender
Дата 2.2.2010, 22:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 130
Регистрация: 2.10.2009

Репутация: 9
Всего: 9



Просто использовать RichTextBox 
Код

<RichTextBox Width="200" Height="20">
    <FlowDocument>
        <Paragraph>
            <InlineUIContainer>
                <TextBlock>
                    <Run Text="TextBlock1"/><Run Text="TextBlock2"/><Run Text="TextBlock3"/>
                </TextBlock>
            </InlineUIContainer>
        </Paragraph>
    </FlowDocument>
</RichTextBox>


Это сообщение отредактировал(а) exBlender - 2.2.2010, 23:11
--------------------
HTML и CSS забыв как страшный сон, хвалу я заммэлу пою и фирме Майкрософт.
PM MAIL   Вверх
snav
Дата 3.2.2010, 19:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 55
Регистрация: 8.9.2007

Репутация: 2
Всего: 4



exBlender, спасибо. Интересная идея, завтра попробую.
PM   Вверх
snav
Дата 4.2.2010, 18:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 55
Регистрация: 8.9.2007

Репутация: 2
Всего: 4



Попробовал сделать так, получилось не очень хорошо. Вложенные элементы TextBox отображаются в неактивном состоянии (темно-серый текст на сером фоне). Явное задание Enabled=true в XAML не помогло.
PM   Вверх
exBlender
Дата 6.2.2010, 03:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 130
Регистрация: 2.10.2009

Репутация: 9
Всего: 9



Ну, тогда -  пардон.
Теоретически, наверное, можно применить измененный стиль, переписав TextBox темплейт и изменив в триггере IsEnabled="False" значения Foregraund  и Background на дефолтные...
--------------------
HTML и CSS забыв как страшный сон, хвалу я заммэлу пою и фирме Майкрософт.
PM MAIL   Вверх
SergeyLoginov
Дата 26.2.2010, 17:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 62
Регистрация: 28.9.2009
Где: Иваново

Репутация: 4
Всего: 4



Цитата(snav @ 4.2.2010,  18:57)
Попробовал сделать так, получилось не очень хорошо. Вложенные элементы TextBox отображаются в неактивном состоянии (темно-серый текст на сером фоне). Явное задание Enabled=true в XAML не помогло.

Чтобы активировать вложенные элементы, необходимо установить значение свойства RichTextBox.IsDocumentEnabled в True
PM MAIL   Вверх
snav
Дата 15.10.2010, 17:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 55
Регистрация: 8.9.2007

Репутация: 2
Всего: 4



exBlender, SergeyLoginov
Большое спасибо. Ваши советы очень помогли.
Если модератор читает эту тему, добавьте, пожалуйста, им по плюсику (у меня недостаточно прав).

Это сообщение отредактировал(а) snav - 15.10.2010, 17:20
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | WPF и Silverlight | Следующая тема »


 




[ Время генерации скрипта: 0.1178 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.