我正在改写WPF中的.Net WinForm应用程序。
我需要复制一个有3列的ListView控件。
此列表视图根据上面所选内容刷新其内容(包括控件的类型)。
ListView截图
不幸的是,我是新来的WPF。我一直在研究WPF ListView和绑定过程。但我的直觉反应是,这不是一个有约束力的场景(尽管我很高兴被证明是错的)。
所以我的问题是,WPF ListView能显示每一行不同的控制类型吗?如果是这样的话,是怎么做的?
非常感谢马特。
发布于 2012-12-05 09:24:14
也许会对某人有用。
我认为在这种情况下可以使用DataTemplateSelector。您应该定义自己的选择器。
从类DataTemplateSelector继承而来,并将基于项的逻辑模板放在那里。然后将其设置为ItemTemplateSelecto for ListView。
有关DataTemplateSelector的详细信息可以从这里中读取。
发布于 2011-08-01 16:29:44
看看GridView或DataGrid。您需要手动指定列类型,而不是依赖自动生成的列。
发布于 2011-08-01 16:34:34
这里是一个TextBlock和CheckBox
<ListView.View>
<GridView AllowsColumnReorder="False" x:Name="gvWFbatches">
<GridViewColumn Width="Auto">
<GridViewColumnHeader Content="Batch"/>
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock TextWrapping="NoWrap" Text="{Binding Path=BatchName, Mode=OneWay}" />
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Width="Auto">
<GridViewColumnHeader Content="QC"/>
<GridViewColumn.CellTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding Path=IncQC, Mode=OneWay}" IsHitTestVisible="False" Focusable="False"/>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>https://stackoverflow.com/questions/6900584
复制相似问题