1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/1Jins-WPF-AdornerPopup

Клонировать/Скачать
README.md 2.3 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 02.06.2025 17:47 b264c71

WPF AdornerPopup

Введение

WPF использует Adorner-декоратор для реализации функциональности, подобной Popup.

Основные возможности

  • Поддержка .NET 5
  • WapComboBox — ComboBox, упакованный с использованием AdornerPopup
  • Очень простая реализация Mvvm (RelayCommand и ViewModelBase)
  • Поддержка замены стандартного Popup на AdornerPopup (требуется минимальные изменения)

Начало работы

1. Указание пространства имен Wap(AdornerPopup)

xmlns:wap="WPF.AdornerPopup"

2. В XAML

<wap:AdornerPopup x:Name="adornerPopup"
                  PlacementTarget="{Binding ElementName=tbInput}"
                  IgnoreTargetEvent="True"
                  Placement="Bottom"
                  Background="Transparent"
                  BorderBrush="Transparent"
                  BorderThickness="0"
                  IsOpen="{Binding IsOpen}"
                  Width="{Binding ElementName=tbInput, Path=ActualWidth}"
                  StaysOpen="{Binding ElementName=btnSearch, Path=IsMouseOver}">
    <!--Ваш код-->
</wap:AdornerPopup>

Скриншот

Image description

Примеры

1. WapComboBox

<wap:WapComboBox Height="30" Width="200"
                 MaxDropDownHeight="400"
                 IsEditable="True"
                 ItemsSource="{Binding SearchResults}"/>

2. Использование AdornerPopup

<wap:AdornerPopup x:Name="adornerPopup"
                  PlacementTarget="{Binding ElementName=tbInput}"
                  IgnoreTargetEvent="True"
                  Placement="Bottom"
                  Background="Transparent"
                  BorderBrush="Transparent"
                  BorderThickness="0"
                  IsOpen="{Binding IsOpen}"
                  Width="{Binding ElementName=tbInput, Path=ActualWidth}"
                  StaysOpen="{Binding ElementName=btnSearch, Path=IsMouseOver}">
    <ListBox x:Name="lbResult"
             Height="200"
             ItemsSource="{Binding SearchResults}"
             VerticalAlignment="Top">
    </ListBox>
</wap:AdornerPopup>

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/1Jins-WPF-AdornerPopup.git
git@api.gitlife.ru:oschina-mirror/1Jins-WPF-AdornerPopup.git
oschina-mirror
1Jins-WPF-AdornerPopup
1Jins-WPF-AdornerPopup
master