gpt4 book ai didi

c# - ListPicker中的数据模板和固定项

转载 作者:行者123 更新时间:2023-11-30 18:29:03 24 4
gpt4 key购买 nike

我想知道我是否可以创建一个 ListPicker,它将从数据模板中获取的项目和底部稳定且始终存在的项目组合在一起。

这是我的代码:

<toolkit:ListPicker 
x:Name="subjectTeacherListPicker"
ItemsSource="{Binding AllTeachers}"
Grid.Column="1"
Grid.Row="5">

<toolkit:ListPicker.ItemTemplate>
<DataTemplate>
<TextBlock>
<Run Text="{Binding TeacherName}"/>
<Run Text="{Binding TeacherSurname}"/>
</TextBlock>
</DataTemplate>
</toolkit:ListPicker.ItemTemplate>

</toolkit:ListPicker>

我的意思是,对于上面的代码,我想将一项添加到列表选择器中,该项目将以与所有项目相同的方式显示,但将一次性结算并无论如何都会留在那里。例如,“添加新老师..”,即使没有显示其他项目也会被查看。

最佳答案

所以,问题是您不能将不同的对象类型绑定(bind)到一个 itemSource,因此您不能使用 ListPicker 控件执行此操作。有一个名为 ItemsControl 的控件经常被忽略。这可以绑定(bind)项目,并创建绑定(bind)对象的非滚动堆叠列表。将此控件与 ScrollViewerStackPanel 结合使用将提供所需的结果。

1

可以使用列表底部所需的按钮进行滚动。即使列表中没有数据,它也会一直存在。

实现此目的的 XAML 如下:

<ScrollViewer Margin="5">
<StackPanel Orientation="Vertical">
<ItemsControl ItemsSource="{Binding AllTeachers}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<TextBlock>
<Run Text="{Binding TeacherName}"/>
<Run Text="{Binding TeacherSurname}"/>
</TextBlock>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
<Button Content="Add teacher"/>
</StackPanel>
</ScrollViewer>

用我提供的代码替换您的 ListPicker 将为您提供一个非常好的起点来完成自定义 ItemTemplate 以获得所需的项目外观。

如果您需要将“添加教师”作为其他控件,例如 TextBlock,只需更改控件并让它触发添加教师操作即可。

希望这对您有所帮助!

亚当

关于c# - ListPicker中的数据模板和固定项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23689863/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com