【发布时间】:2016-07-30 06:29:02
【问题描述】:
我有一个绑定到自定义类的 ListBox:
public class SelectionModel : BaseNotifyProperyChanged
{
private bool _selected;
public bool IsSelected
{
get { return _selected; }
set
{
_selected = value;
base.RaisePropertyChanged( "IsSelected" );
}
}
//....
}
通过 xaml 中的实现:
<Style TargetType="{x:Type ListBoxItem}">
<Setter Property="IsSelected" Value="{Binding IsSelected, Mode=TwoWay}"/>
</Style>
我只想禁用用户界面的选择,保持数据绑定不变,这可能吗?我知道我可以通过禁用带有样式的 ListBoxItems 来禁用选择,但这会使绑定无效。
编辑:这似乎有些混乱,所以我会澄清一下。 我不想删除选择或突出显示,我希望能够以编程方式选择项目,但不是通过用户界面。所以禁用项目或更改高亮颜色不是我的目的正在寻找。
【问题讨论】:
-
如果添加一个将
IsSelected设置为单向绑定的触发器会怎样? -
仍然可以通过用户界面选择项目。
-
不知道我理解的对不对,你想去掉选中项的高亮显示,是这样吗?