Я хотел бы создать элемент управления, который можно будет расширять и отображать, даже если его размер больше, чем у его родительского элемента управления. Мне нужно TextBox для ввода чего-либо и развернуть элемент управления при вводе текста , чтобы отобразить несколько кнопок. Точно так же, как когда AutoSuggestBox или адресная строка веб-браузера получили предложения, область расширяется и плавает на поверхности.
это AutoSuggestBox
Я пытался поместить все, что хочу показать, в Всплывающее меню, а затем сделайте всплывающее окно плавающим над исходными элементами управления.
public void ShowFlyout()
{
/**
BaseGrid is the grid contains textbox
TextBoxPart is a TextBox
And the Flyout is attached to BaseGrid.
*/
BaseGrid.Children.Remove(TextBoxPart);
// move the textbox from BaseGrid to Flyout
try { FlyoutStack.Children.Insert(0, SearchBoxPart); }
catch (Exception e){ }
SearchBoxFlyout.ShowAt(BaseGrid); //show the flyout
}
Но когда текст написан сложным языком. Перемещение текстового поля приведет к исчезновению полученного символа. Есть ли альтернативный способ расширить элемент управления?
Обновить
Вот мой новый код, SearchBox — мой класс.
public static readonly DependencyProperty TextBoxText = DependencyProperty.Register(
nameof(myText),
typeof(string),
typeof(SearchBox),
new PropertyMetadata(default, (sender, args) =>
{
((SearchBox)sender).TextChanged();
}));
public string myText
{
get => (string)GetValue(TextBoxText);
set => SetValue(TextBoxText, value);
}
public void TextChanged()
{
Debug.WriteLine($"{TextBoxControl.Text}////{TextBoxOnFlyout.Text}////{myText}");
// When I enter text in TextBoxControl myText Changed but TexBoxOnFlyout doesn't
}
Подробнее здесь: https://stackoverflow.com/questions/792 ... -control-i
Как создать элемент управления, который можно расширить до размера родительского элемента управления в WinUI 3 ⇐ C#
Место общения программистов C#
1733269993
Anonymous
Я хотел бы создать элемент управления, который можно будет расширять и отображать, даже если его размер больше, чем у его родительского элемента управления. Мне нужно TextBox для ввода чего-либо и [b] развернуть элемент управления при вводе текста [/b], чтобы отобразить несколько кнопок. Точно так же, как когда AutoSuggestBox или адресная строка веб-браузера получили предложения, область расширяется и плавает на поверхности.
это AutoSuggestBox
Я пытался поместить все, что хочу показать, в Всплывающее меню, а затем сделайте всплывающее окно плавающим над исходными элементами управления.
public void ShowFlyout()
{
/**
BaseGrid is the grid contains textbox
TextBoxPart is a TextBox
And the Flyout is attached to BaseGrid.
*/
BaseGrid.Children.Remove(TextBoxPart);
// move the textbox from BaseGrid to Flyout
try { FlyoutStack.Children.Insert(0, SearchBoxPart); }
catch (Exception e){ }
SearchBoxFlyout.ShowAt(BaseGrid); //show the flyout
}
Но когда текст написан сложным языком. Перемещение текстового поля приведет к исчезновению полученного символа. Есть ли альтернативный способ расширить элемент управления?
Обновить
Вот мой новый код, SearchBox — мой класс.
public static readonly DependencyProperty TextBoxText = DependencyProperty.Register(
nameof(myText),
typeof(string),
typeof(SearchBox),
new PropertyMetadata(default, (sender, args) =>
{
((SearchBox)sender).TextChanged();
}));
public string myText
{
get => (string)GetValue(TextBoxText);
set => SetValue(TextBoxText, value);
}
public void TextChanged()
{
Debug.WriteLine($"{TextBoxControl.Text}////{TextBoxOnFlyout.Text}////{myText}");
// When I enter text in TextBoxControl myText Changed but TexBoxOnFlyout doesn't
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79239616/how-to-create-a-control-that-is-able-to-be-expanded-bigger-than-parent-control-i[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия