[WPF] Вызов диалога поверх Toolbar'a
От: aakk  
Дата: 22.03.10 17:20
Оценка:
Есть toolbar на window:
 <ToolBar Name="tb">
              <Button Name ="btn" Click="Button_Click">Button</Button>
 </ToolBar>


с обработчиком :
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            (new OpenFileDialog()).ShowDialog();
        }


Если область OpenFileDialog перекрывает область кнопки btn, то после закрытия диалога — btn визуально остаётся в состоянии Pressed.

Как это можно исправить поизящнее, желательно через XAML?

Программно помогает сменить btn.IsEnable туда-обратно, но это не очень хорошо

Спасибо.
Re: [WPF] Вызов диалога поверх Toolbar'a
От: MxKazan Португалия  
Дата: 22.03.10 19:16
Оценка:
Здравствуйте, aakk, Вы писали:

A>Если область OpenFileDialog перекрывает область кнопки btn, то после закрытия диалога — btn визуально остаётся в состоянии Pressed.

К сожалению, unable to reproduce. В том плане, что у меня всё нормально. Причем без разницы какой диалог, этот или этот.
Re: [WPF] Вызов диалога поверх Toolbar'a
От: Gremlin2 http://www.fb2library.net/
Дата: 22.03.10 20:41
Оценка:
Здравствуйте, aakk, Вы писали:

A>Есть toolbar на window:

A>
A> <ToolBar Name="tb">
A>              <Button Name ="btn" Click="Button_Click">Button</Button>
A> </ToolBar>
A>


A>с обработчиком :

A>
A>        private void Button_Click(object sender, RoutedEventArgs e)
A>        {
A>            (new OpenFileDialog()).ShowDialog();
A>        }
A>


A>Если область OpenFileDialog перекрывает область кнопки btn, то после закрытия диалога — btn визуально остаётся в состоянии Pressed.


А попробуйте перед вызовом диалога, выполнить вот это:

Application.Current.Dispatcher.Invoke(DispatcherPriority.Background, new ThreadStart(delegate { }));


Может и поможет.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.