我是一个C#/ WPF应用程序。在我看来,我需要在单击“清除”按钮时将焦点设置在组合框上。 我的代码如下所示,我没有看到焦点设置在组合框上。你能告诉我在这里缺少什么吗?
感谢。
MyView的:
<ComboBox x:Name="cboManager" Grid.Column="2" IsEnabled="{Binding EnableManagerView}" HorizontalAlignment="Left" Margin="1,1,0,0" Grid.Row="3" VerticalAlignment="Top" Width="195" Height="22" SelectedItem="{Binding MyViewModel.SelectedManager}" ItemsSource="{Binding MyViewModel.Managers}" Style="{DynamicResource ManagerStyle}" Text="{Binding MyViewModel.Manager}" DisplayMemberPath="Description" SelectedValuePath="Code" TabIndex="1"/>
MainWindowResources.cs:
<DataTrigger Binding="{Binding Path=FocusOnDealManager}" Value="true">
<Setter Property="FocusManager.FocusedElement" Value="{Binding ElementName=cboManager}"/>
</DataTrigger>
MyViewModel:
private void Clear()
{
this.FocusOnDealManager = true;
}
public bool FocusOnDealManager
{
get; set;
}
注意:MyViewModel类继承了实现INotifyPropertyChanged接口的ViewModelBase。 其他功能,如在文本框中设置背景颜色等。使用风格是有效的。只是对组合框的关注不起作用。
感谢。