powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / WPF. SearchControl
4 сообщений из 4, страница 1 из 1
WPF. SearchControl
    #37470899
maratoss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хочу сделать контрол для поиска, как в AdobeReader (на скрине видно)
Не получается разместить контекстное меню ниже ТекстБокса.
Делаю так, но все равно вылазить точно под курсором мыши:
Как правильно?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
<Grid x:Name="PART_Grid">
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="*" />
        <ColumnDefinition Width="auto" />
    </Grid.ColumnDefinitions>

    <TextBox Grid.Column="0" />
    <Button Grid.Column="1" x:Name="PART_Button" Content="*" />
</Grid>

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
//Код по клику на кнопку; _grid = "PART_Grid"
var cMenu = new ContextMenu();
cMenu.Items.Add(new MenuItem { Header = "123", Items = { new MenuItem { Header = "hello" } } });
cMenu.Items.Add(new MenuItem { Header = "123123" });
cMenu.Items.Add(new MenuItem { Header = "123123123" });
Point pt = _grid.TransformToVisual(Application.Current.MainWindow).Transform(new Point(0, 0));
Canvas.SetLeft(cMenu, pt.X);
Canvas.SetTop(cMenu, pt.Y);
//cMenu.Width = _grid.ActualWidth;
//cMenu.HorizontalOffset = pt.X;
//cMenu.VerticalOffset = pt.Y + _grid.ActualHeight;
cMenu.IsOpen = true;
...
Рейтинг: 0 / 0
WPF. SearchControl
    #37471177
maratoss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вроде разобрался
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
var cMenu = new ContextMenu();
cMenu.Items.Add(new MenuItem { Header = "123", Items = { new MenuItem { Header = "hello" } } });
cMenu.Items.Add(new MenuItem { Header = "123123" });
cMenu.Items.Add(new MenuItem { Header = "123123123" });

cMenu.Placement = System.Windows.Controls.Primitives.PlacementMode.Relative;
cMenu.PlacementTarget = this;
cMenu.PlacementRectangle = new Rect(0, this.ActualHeight, 30, 30);
cMenu.Width = this.ActualWidth;
cMenu.IsOpen = true;
...
Рейтинг: 0 / 0
WPF. SearchControl
    #37472188
maratoss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще вопрос такой:

открывается Popup, точно так же как в AutoCompleteBox,
далее нужно закрыть его по нажатию на любую область окна левой кнопки мыши.
Идея такая - через WinAPI перехватывать нажатие мыши и закрывать.
Это нормально? Проще как-нибудь можно?
...
Рейтинг: 0 / 0
WPF. SearchControl
    #37474208
maratoss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кароч сделал через WinAPI.

Вот еще вопрос с фокусом:
контрол состоит из 2-х элементов ТекстБокса и кнопки,
почему когда щелкаю на кнопку у контрола срабатывает событие LostFocus?
Разве потеря фокуса не должна вызываться тогда, когда фокус потеряют все элементы котрола?

Просто хочу логику задать на потерю фокуса контрола
и как обойти это ложное срабатывание потери фокуса?
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / WPF. SearchControl
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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