要想复选框旁边有对应的文字,关键的是ContentPresenter 属性值添加。GridViewColumn 虽然有Header属性,但是临时模板DataTemplate加载时,会采用当前DataTemplate的值进行重新覆盖,此时原有的header就无效,需要再次重新定义,所以使用了ContentPresenter 属性,该属性是一个object对象,需要注意一下,有其他更多的用处,此处就不进行说明。
ListView 下Interaction.Triggers使用:
这个问题困扰我一天多才解决的,在listView下GridViewColumn中添加对应的修改值,进行类似鼠标焦点移动触发,或者回车键触发,发现都是不生效的,放在不属于listView下是可以的。最后发现其实在GridViewColumn的父级容器中是生效的。
<i:Interaction.Triggers>
<i:EventTrigger EventName=“Enter”>
<i:InvokeCommandAction Command="{Binding ValueChangeCommand}" CommandParameter="{Binding SelectedItems, ElementName=ViewList}" />
</i:EventTrigger>
</i:Interaction.Triggers>
<ListView.Resources>
</ListView.Resources>
<ListView.View>
<GridView.Columns>
<GridViewColumn.CellTemplate>
</GridViewColumn.CellTemplate>
</GridView.Columns>
</ListView.View>
上述情况中,有另外一种属性触发机制InputBindings。但是InputBindings是针对Windows标签使用的,是作为全局变量进行生效的,放到具体位置中是否生效,需要进一步的实践。
WPF ListView 下Interaction.Triggers使用以及复选框总结
来源:互联网 浏览:111次 时间:2023-04-08
WPF ListView 下Interaction.Triggers使用以及复选框总结 复选框旁边添加字体: <GridViewColumn Width="100" Header="All"> <GridViewColumn.HeaderTemplate> <DataTemplate> <CheckBox > <ContentPresenter Content="All" /> </CheckBox> </DataTemplate> </GridViewColumn.HeaderTemplate> <GridViewColumn.CellTemplate> <DataTemplate> <CheckBox Content="{Binding Id}" IsChecked="{Binding IsCheck, Mode=TwoWay}"/> </DataTemplate> </GridViewColumn.CellTemplate> </GridViewColumn>