我有一个数据网格,显示带有两列文本行数据的项目和一个更大的自由文本细节,我通过一个只带边框和文本块的rowdetails模板显示.
我遇到的问题是文本细节通常大于网格允许的区域.数据网格的默认滚动行为意味着当滚动跳转到下一个项目时,用户无法查看整个细节.如果我通过使用解决这个问题
ScrollViewer.CanContentScroll="False"
Run Code Online (Sandbox Code Playgroud)
然后,当关闭虚拟化时,数据网格变得非常慢,并且有大量行.
我确实认为我可以通过在rowviewer中包装rowdetail来解决这个问题,但这不起作用,因为细节区域不限于渲染区域.
那么,有人可以提供一些有用的选择吗?我的WPF知识非常少,如果有一些明显的解决方法,那么道歉.
编辑:RowDetailsTemplate
<DataGrid.RowDetailsTemplate>
<DataTemplate >
<Border Background="Gray"
Padding="5,5,5,5" CornerRadius="5">
<TextBlock Background="Transparent"
Foreground="White"
TextWrapping="Wrap"
Text="{Binding Text}"/>
</Border>
</DataTemplate>
</DataGrid.RowDetailsTemplate>
Run Code Online (Sandbox Code Playgroud) 我希望有人可以在这里验证或纠正我的结论.
我正在考虑写一个小方案项目.我想创建一个桌面应用程序,用于记录将与Web服务器同步的注释,以便可以保持多个安装步骤和数据共享,并且如果需要可以通过浏览器访问它.
我有点半聆听有关CouchDB的声音,我听说提到了"离线功能",desktop-couchdb以及利用其处理间歇性通信的能力以在移动市场中实现分布式应用程序.这一切都让我相信这可能是一个有趣的选择,看看提供我的数据存储和处理我的同步需求,但花了一些时间四处寻找有关如何开始的信息,我的结论是我有完全是错误的结束,现实是:
无法打包CouchDB实例,将其作为桌面应用程序的一部分进行分发,并在该应用程序的上下文中运行它,以便为中央数据库提供本地存储和同步.
我在这里纠正吗?如果是这样有任何技术可以做这种事情,或者我只是滚动我自己的本地存储,可能还在服务器上使用CouchDB?