c# - UWP RadExpanderControl 正在绑定 ContentTemplate 但不是 ExpandableContentTemplate
问题描述
这里的想法是文件的每个修订版都会生成一个新文件,其名称会添加“_v1”、“_v2”等。后端从磁盘获取文件并根据该名称对它们进行分组。所以标题可能会显示“example”,然后当您单击扩展器时,您会看到“example”、“example_v1”、“example_v2”等。
但是,当这些分组数据到达前端时,只显示键,并显示扩展内容的空列表。是我的 XAML 搞砸了还是其他原因?
这是 MainPage.xaml:
<my:RadDataBoundListBox x:Name="listBox">
<my:RadDataBoundListBox.ItemTemplate>
<DataTemplate>
<my1:RadExpanderControl
Content="{ Binding }"
ExpandableContent="{ Binding }"
IsExpanded="True">
<my1:RadExpanderControl.ContentTemplate>
<DataTemplate>
<TextBlock Text="{ Binding Key }" />
</DataTemplate>
</my1:RadExpanderControl.ContentTemplate>
<my1:RadExpanderControl.ExpandableContentTemplate>
<DataTemplate>
<TextBlock Text="{ Binding Name }" />
</DataTemplate>
</my1:RadExpanderControl.ExpandableContentTemplate>
</my1:RadExpanderControl>
</DataTemplate>
</my:RadDataBoundListBox.ItemTemplate>
</my:RadDataBoundListBox>
这是来自 MainPage.xaml.cs:
public sealed partial class MainPage : Page
{
CollectionViewSource cvs = null;
public MainPage()
{
InitializeComponent();
cvs = new CollectionViewSource();
}
protected override void OnNavigatedTo(NavigationEventArgs e)
{
cvs.Source = ViewModel.Files;
cvs.IsSourceGrouped = true;
listBox.ItemsSource = (IOrderedEnumerable<IGrouping<string, Files>>)cvs.Source;
}
}
这是来自 ViewModel:
private IOrderedEnumerable<IGrouping<string, Files>> files;
public IOrderedEnumerable<IGrouping<string, Files>> Files
{
get
{
if (files == null)
{
var source = Source;
string[] separaters = { "_", "." };
files = from file in source
group file by file.Name.Split(separaters, StringSplitOptions.RemoveEmptyEntries)[0]
into g
orderby g.Key
select g;
}
return files;
}
}
这是从磁盘中提取文件名列表的方式:
public ObservableCollection<Files> Source
{
get
{
return GetFilesData(Folder).Result;
}
}
这是文件名的模型:
public class Files
{
public string Name { get; set; }
}
解决方案
推荐阅读
- c - 在现代计算机上如何强制执行只读?
- keycloak - 通过 iFrame 访问时的 Keycloak LOGIN_ERROR
- reactjs - React - 错误:超过最大更新深度 - useReducer
- python - 在另一个循环中多处理一个循环
- python-3.x - 异常值:不能使用 None 作为查询值 Django 框架
- pandas - 即使我们使用 .loc 方法,熊猫也会出现意想不到的 SettingWithCopyWarning
- python - 如何将python设置为睡眠到特定时间?
- python - 当我调用html页面时自动运行服务器
- http - 允许人们使用 http 连接连接到我的 https 网站?
- c++ - 每次都获得相同的输出