作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
简短说明
Button.CommandProperty 绑定(bind)到 ViewModel 的 SomeObject.SomeCommand 属性。当 SomeObject 的 SomeCommand 属性设置为 null 或整个 SomeObject 属性设置为 null 时,此按钮保持启用状态。在这种情况下如何禁用按钮?
详细解释
我正在使用 MVVM 创建应用程序,其行为类似于浏览器:
Main view_model(对应于作为 View 的主窗口)有一个 Workspace view_models 列表。每个 Workspace view_model 对应于 windows 的 TabControl 中的 TabPage。
Main view_model 具有 CurrentWorkspace 属性,该属性对应于当前事件的 TabPage。
在主窗口中,有一个带有按钮的工具栏,它利用 CurrentWorkspace 提供的命令。例如,对重新加载工作区数据的访问实现为:
<Button Name="btReload" Content="Reload"
Command="{Binding Path=CurrentWorkspace.ReloadCommand, UpdateSourceTrigger=PropertyChanged}"/>
<Button Name="btReload" Content="Reload"
Command="{Binding Path=CurrentWorkspace.ReloadCommand, UpdateSourceTrigger=PropertyChanged}">
<Button.Style>
<Style>
<Style.Triggers>
<DataTrigger Binding="{Binding Path=CurrentWorkspace, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}" Value="{x:Null}">
<Setter Property="dxb:BarButtonItem.IsEnabled" Value="False"/>
</DataTrigger>
<DataTrigger Binding="{Binding Path=CurrentPage.CurrentWorkspace, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}" Value="{x:Null}">
<Setter Property="dxb:BarButtonItem.IsEnabled" Value="False"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
最佳答案
这可能有效(取决于您的情况)
<Button.Style>
<Style TargetType="{x:Type Button}">
<Style.Triggers>
<Trigger Property="Command" Value="{x:Null}">
<Setter Property="IsEnabled" Value="false"/>
</Trigger>
</Style.Triggers>
</Style>
</Button.Style>
关于wpf - 当 Button.CommandProperty 为空时如何禁用按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4138026/
简短说明 Button.CommandProperty 绑定(bind)到 ViewModel 的 SomeObject.SomeCommand 属性。当 SomeObject 的 SomeComma
我是一名优秀的程序员,十分优秀!