2013-05-20 2 views
1

Afters attemps Я мог бы сказать, что FocusVisualStyle активируется только клавиатурой (клавиши Tab и стрелки).Как показать программно FocusVisualStyle?

Попробуйте сделать FocusVisualStyle примененным после загрузки компонента, это невозможно сделать. Существует простой способ обойти эту проблему?

Я нашел это:
- focus visual not showing when navigating focus programically
- How do WPF buttons decide to show FocusVisualStyle?
- http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/99856840-f8ef-4547-9150-c4c46ec2f3df

Но никто не проявляет определенное решение (без перезаписи компонент), и я не мог написать, может кто-то помочь?

ответ

0

Я не очень уверен, что понимаю вашу проблему, но я попробовал пример в одной из ссылок, и мне удалось переместить фокус на следующий компонент из кода, точно так же, как и с клавиатуры. Вот код.

<Window x:Class="WpfApplication1.MainWindow" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     Title="MainWindow" Height="350" Width="525" 
     xmlns:local="clr-namespace:WpfApplication1" Loaded="OnLoaded" 
     > 
    <StackPanel Margin="10"> 
     <TextBox Margin="10" x:Name="a" >A</TextBox> 
     <TextBox Margin="10" x:Name="b" >B</TextBox> 
     <Button Focusable="False" Click="OnClick">Move Focus</Button> 
    </StackPanel> 
</Window> 

public partial class MainWindow : Window { 
    public MainWindow() { 
     InitializeComponent(); 
    } 

    private void OnLoaded(object sender, RoutedEventArgs e) { 
     a.Focus(); 
    } 

    private void OnClick(object sender, RoutedEventArgs e) { 
     var request = new TraversalRequest(FocusNavigationDirection.Next); 
     var elementWithFocus = FocusManager.GetFocusedElement(FocusTest) as UIElement; 
     if (elementWithFocus != null) 
      elementWithFocus.MoveFocus(request); 
    } 
} 
+1

пытается сделать FocusVisualStyle применяться после загрузки компоненты, это невозможно сделать, и это моя проблема –

+0

я неправильно понял ваш вопрос. Теперь я вижу вашу проблему. Очень жаль это. – Jatin

Смежные вопросы