【发布时间】:2016-05-24 07:56:07
【问题描述】:
我正在使用 ListBox 控件。代码是:
<ListBox Name="documentList" IsEnabled="{Binding WorkResultsModel.IsEnable,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" ItemsSource="{Binding WorkResultsModel.ImageCollection}" ScrollViewer.HorizontalScrollBarVisibility="Disabled" HorizontalAlignment="Center" ScrollViewer.VerticalScrollBarVisibility="Auto"
Width="300" Padding="10" Height="200">
我在按钮单击时将 true/false 属性设置为列表框的 IsEnabled 属性。当我们设置 false 并单击项目列表时,项目事件第一次工作,然后在显示禁用项目后。同样,当我们设置为 true 时,以禁用模式显示的项目和事件不起作用。如何解决这个问题?提前致谢。 按钮命令代码为:
private void ButtonClickCommand(object obj)
{
if(status=="Edit")
WorkResultsModel.IsEnable = true;
else {
WorkResultsModel.IsEnable = false;
}
}
而属性更改代码如下:
private bool _isEnable = true;
public bool IsEnable
{
get { return _isEnable; }
set
{
SetProperty(ref this._isEnable, value);
RaisePropertyChanged("IsEnable");
}
}
【问题讨论】:
-
在设置 IsEnable 值后,您是否提出了
PropertyChangedEvent? -
是的,我使用的是 MVVM 模型
-
然后向我们展示更多相关代码(列表框绑定,您在哪里设置/取消设置 isEnabled..)。没有它,我们无能为力
-
感谢回复。私人无效 ButtonClickCommand(object obj){ if(status=="Edit")WorkResultsModel.IsEnable = true;否则 {WorkResultsModel.IsEnable = false;}
-
不要添加任何代码作为注释。最好在您的问题中点击
Edit并在那里添加您所有的相关代码。