我在网格中有一个按钮,其中包含许多其他按钮和控件,例如
<Grid IsEnabled="false">
<Grid.ColumnsDefinition>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnsDefinition>
<Button Content="Run"/>
<Button Grid.Column="1" Content="Test"/>
<Button Grid.Column="2" Content="Cancel" IsEnabled="true"/>
</Grid>
如您所见,网格已禁用,但其中的取消按钮应启用。
我遇到的问题是即使我将内部按钮设置为启用,它也会保持禁用状态,可能是因为其父级已被禁用。
有没有办法覆盖此行为并强制启用该按钮?
我正在使用它来处理在后台运行长进程的情况,因此应禁用除取消进程之外的所有UI操作。
谢谢!
答案 0 :(得分:2)
没有。将IsEnabled
属性设置为false会导致禁用所有嵌套的可视元素。人们应该将元素的内容视为其存在的一部分。禁用元素意味着禁用其所有部分。
最简单的解决方法是更改标记以满足您的需求。我宁愿将取消按钮从此Grid
中删除,因此它永远不会受到IsEnabled
Grid
属性的影响