На форме имеется Calendar, когда в нем выбираю дату, то приходится кликать по любому другому элементу или пустому месту, чтобы остальные элементы стали активны.
То есть после выбора даты, активным остается календарь. Как от этого избавиться? Чтобы не приходилось делать лишний клик?
В разметке нет ничего особенного:
<Border Grid.Column="1">
<Calendar SelectedDate="{Binding SelectedDate}"/>
</Border>
Получается, когда я нажимаю на него и выбираю дату, то курсор двигается, но остальные элементы неактивны (нет даже анимации при наведении на кнопки). Мне приходится делать "пустой" клик, и тогда остальные элементы начинают отвечать.
Дело в том, что Calendar
предназначен для размещения его во всевозможных всплывающих элементах (например, таких как DatePicker
), поэтому он захватывает (Capture) мышь. Такое же поведение можно наблюдать, например, с ComboBox
, если открыть выпадающий список, то первый клик мыши будет закрывать его и только следующий будет обработан целевым элементом.
К счастью, это поведение можно изменить таким кодом:
if (Mouse.Captured is CalendarItem) Mouse.Capture(null);
Вставьте его, например, в обработчик PreviewMouseUp
вашего календаря.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Есть страница, в ней подключаются стили через xaml таким образом:
На UseControl у меня есть картинка и два эллипса (круга, как угодно), я хочу связать два UseControl на холсте , вывод UseControl на холст сделан, вопрос вот...