我有这个我无法弄清楚的问题。
我有一个带有成绩的ListView(特定学生,特定科目)。 现在,我有像这样的Horizontal ListView:
<ListView
x:Name="gradeListView"
ItemsSource="{Binding}"
IsSynchronizedWithCurrentItem="True"
SelectionChanged="gradeListView_SelectionChanged"
Grid.ColumnSpan="3"
Grid.Row="2"
Margin="30,153,325,-194"
>
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Background="Transparent" Orientation="Horizontal" />
</ItemsPanelTemplate>
</ListView.ItemsPanel>
<ListView.View>
<GridView>
<GridView.Columns>
<GridViewColumn DisplayMemberBinding="{Binding Mark}" Header="Ocena" />
<GridViewColumn>
<GridViewColumn.CellTemplate>
<DataTemplate>
<CheckBox Tag="{Binding Id}" IsChecked="{Binding RelativeSource={RelativeSource AncestorType={x:Type ListViewItem}}, Path=IsSelected}" />
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView.Columns>
</GridView>
</ListView.View>
这段代码告诉我:
我想要的是:
我可以以某种方式将此复选框和Mark标记为同一列中的垂直堆栈元素吗?我试图自己这样做,但失败了。
请理解,这是我的第一个带有自定义控件等的WPF项目:)
提前感谢您的帮助。
答案 0 :(得分:1)
如果您不想旋转控件(如WPF horizontal DataGrid中所示) 您可以将两列合并到堆栈面板中:
<ListView.View>
<GridView>
<GridView.Columns>
<GridViewColumn Header="Ocena">
<GridViewColumn.CellTemplate>
<DataTemplate>
<StackPanel>
<CheckBox IsChecked="{Binding RelativeSource={RelativeSource AncestorType={x:Type ListViewItem}}, Path=IsSelected}" />
<TextBlock Text="{Binding Mark}"/>
</StackPanel>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView.Columns>
</GridView>
</ListView.View>