如果点击ListBoxItem,我怎样才能强制选择更改? 这是我创建的示例
XAML
<ListBox ItemsSource="{Binding Names}" SelectedItem="{Binding SelectedName}" />
C#
public class MainWindowViewModel : NotifyPropertyChanged
{
private string selectedName;
public MainWindowViewModel()
{
Names = NamesService.GetNames();
}
public ObservableCollection<string> Names { get; }
public string SelectedName
{
get { return selectedName; }
set
{
selectedName = value;
//do some work here
OnPropertyChanged();
}
}
}
因此,当我从列表中选择一个名称时,setter会被SelectedName命中,但是如果我第二次点击同一个Item,我需要它再次点击该setter。
我知道我可以用不同的方式清除它,例如在其中有按钮并将其更改为ItemsControl,然后将按钮绑定到命令等。
但我感兴趣的是我是否可以使用ListBox来实现上述目标,就像我想用SelectedItem一样?
谢谢:)