WPF datagrid部分功能简记
在datagrid中,涉及到DataGridTextColumn内容的居中设置,在窗体的资源文件中声明
<Style x:Key="dgCell" TargetType="TextBlock">
<Setter Property="TextAlignment" Value="Center"/>
<Setter Property="VerticalAlignment" Value="Center"/>
</Style>
然后在列中设置元素样式,即可将单元格内容居中显示
<DataGridTextColumn ElementStyle="{StaticResource dgCell}">
在自定义的TreeView中TreeViewItem的双击事件是默认打开的,如果需要对双击事件进行自己控制,可以使用以下方法。在TreeViewItem样式中加入事件:
<Style x:Key="ListViewItemStyle" TargetType="ListViewItem">
<Style.Setters>
<EventSetter Event="MouseDoubleClick" Handler="OnListViewItemDoubleClick" />
</Style.Setters>
</Style>
同时在CS文件中写入对应的代码:
private void OnListViewItemDoubleClick(object sender, MouseButtonEventArgs e)
{
if (sender is ListViewItem&&(sender as ListViewItem).IsSelected)
{
//如果双击的是item 进行你需要的操作
}
}
判断条件是因为双击事件存在一定的错误,双击节点两边的空白区域也会进入事件,所以判断双击的元素是否为ListViewItem即可,其次,TreeViewItem的双击事件是在每个TreeViewItem注册的,从而导致双击子节点,会出现多次调用双击事件从而影响正确的程序流程的情况,所以,加上判断是否被选中,即可避免此问题的出现。
以上为最近学习WPF过程中遇见的基础问题,但是也经常会用到,写下博客记录,下次就能有印象。如有侵权,请联系本人QQ:464905795。谢谢。
http://www.voidcn.com/article/p-becqcysc-btb.html
https://blog.youkuaiyun.com/immotal_xiaoqiang/article/details/108547554