Это не совсем понятно, что вы хотите сделать.
Это не очень хорошая идея, чтобы уснуть в основной теме приложения. Это сделает ваше приложение неприемлемым для всех сообщений Windows (оба они созданы пользователем или самой Windows). Ваши пользователи заполнят его.
Если вам нужно отключить только эту кнопку, вы можете установить ее свойство IsEnabled
на false
, пользователь не сможет щелкнуть по нему.
Если вы хотите отключить все событий, вы можете использовать свойство IsEnabled
самого окна.
Если отключить все элементы управления (или одну кнопку), это не подходящее решение для вас, вы можете использовать одно из следующих действий.
Добавить состояние переменная (или простой флаг). Во всех обработчиках событий вы проверите, истинна эта переменная или нет (вы измените ее с помощью таймера).Что-то вроде:
if (!_canHandleMouseClicks)
return false;
Отключить все кнопки и повторно включить их после определенного периода времени:
private static IEnumerable<Button> FindAllButtons(DependencyObject obj)
{
if (obj == null)
return null;
int childrenCount = VisualTreeHelper.GetChildrenCount(obj);
for (int i = 0; i < childrenCount; ++i)
{
DependencyObject child = VisualTreeHelper.GetChild(obj, i);
if (child != null && child is Button)
yield return (Button)child;
// If you may have buttons inside buttons then uncomment these lines
//foreach (Button childOfChild in FindAllButtons(child))
// yield return childOfChild;
}
}
Тогда вы можете написать:
foreach (Button button in FindAllButtons(window))
button.IsEnabled = false; // true to re-enable
Вы должны удивляться, если вы не что-то не так, если это требование .. – Kolky
@ Kolky - Я тоже так думал, но клиенты иногда спрашивают о странных вещах :) Было бы разумнее, если бы кнопки были снова включены, когда какая-либо операция, которая должна не возвращаются ". Либо это, либо в порядке очередности ввода операции, чтобы кнопки вообще не нужно было отключать. –
Да, я не делаю что-то неправильно, отключив кнопки «Click for» после нажатия кнопки. Это связано только с небольшим количеством времени. Я хочу, чтобы этот код использовался для определенного пользовательского интерфейса. – hakunabean