我的DataGrid列正在代码中添加。
当用户完成编辑行并单击“下一步”按钮时,将禁用DataGrid,并且用户将进入下一步,该步骤位于同一视图中。
如果用户有很多行并且需要滚动现在禁用的DataGrid以概览行,则会出现问题。
我已尝试在ScrollViewer中包装DataGrid(绑定到用户单击Next时设置IsEnabled = false的属性),这样可以获得所需的效果但滚动位于DataGrid外部发现很烦人。
我在我的智慧结束时可以真正使用一些帮助我应该如何去做。
我也尝试覆盖ScrollViewer的元数据,这在某种程度上有效但从我读过的内容中不安全。
有什么想法吗?
答案 0 :(得分:8)
您可以使用IsEnabled属性,而不是使用DataGrid.IsReadOnly属性。
答案 1 :(得分:2)
将DataGrid
标记为ReadOnly并应用以下样式以使外观像禁用(如果需要)。
<DataGrid.Style>
<Style TargetType="DataGrid">
<Style.Triggers>
<Trigger Property ="IsReadOnly" Value="True">
<Setter Property= "Foreground" Value="Gray"/>
</Trigger>
</Style.Triggers>
</Style>
</DataGrid.Style>
答案 2 :(得分:0)
我最终在DataGrid上使用IsReadOnly属性并将其绑定到IsEnabled。
这首先是一个明显的问题,因为IsEnabled确实使得DataGrid在只有错误的状态下才是只读的。
所以我创建了一个帮助类来将bool转换为false以反映正确的状态(启用/禁用)。
DataGrid中的组件也具有其IsEnabled属性数据绑定,当DataGrid为只读时,它为我们提供了适当的禁用样式。
感谢帮助人员!