【问题标题】:ListBox enable disable does not work列表框启用禁用不起作用
【发布时间】: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 并在那里添加您所有的相关代码。

标签: c# wpf telerik


【解决方案1】:

你可以从后面的代码中做到这一点:

private void Button_Click_(object sender, RoutedEventArgs e)
{
   documentList.IsEnabled=!documentList.IsEnabled;
}

【讨论】:

  • 它与您从编码或属性属性中设置的相同。我使用的是 MVVM 模型,所以无法直接控制。
猜你喜欢
  • 2014-11-07
  • 1970-01-01
  • 1970-01-01
  • 2012-12-10
  • 1970-01-01
  • 2020-11-14
  • 2017-06-12
  • 2017-06-01
相关资源
最近更新 更多