private delegate void focus(HolePattern NewActivePattern); private void lvHolePatterns_SelectionChanged(object sender, SelectionChangedEventArgs e) { ListView lvSender = (ListView)sender; this.Dispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.SystemIdle, new focus(SetActivePattern), (HolePattern)lvSender.SelectedItem); }and
private void SetActivePattern(HolePattern NewActivePattern) { ActivePattern = NewActivePattern; HolePatternStackPanel.DataContext = ActivePattern; CoordinateGrid1.ItemsSource = NewActivePattern != null ? ActivePattern.HoleList : null; RedrawScreen(); txtPatternName.Focus(); }
>><TextBox Name="txtPatternName" Text="{Binding Path=PatternName, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" Width="150" /> >>>
> Dispatcher.BeginInvoke(DispatcherPriority.Input, > new ThreadStart(delegate() > { > txtPatternName.Focus(); > })); >>