我试图让我的树视图按照它们是什么来组合类似项目的集合.为了保持通用性,我的对象层次结构可能如下所示:
现在我的TreeView显示这些对象与对象模型完全一样,但我想要做的是为每个对象类型插入一个TreeView节点,使它看起来像这样:
我在这里看到一个类似的问题,有人建议有两个单独的,HierarchicalDataTemplates
所以我创建了一个'对象组#1'级别,其中包含一个带有类型列表的TreeView,但这真是笨拙,因为它是一个完整的单独的TreeView里面一些节点.我也一直在尝试使用a CollectionViewSource
来过滤掉每个类别中的项目,但这对我来说并不是很好,因为我无法弄清楚如何显示它们.
我想我的问题归结为:我如何组成一个HierarchicalDataTemplate
小组呢?如果有人能指出我正确的方向,我会非常感激.
我可以发布一些代码,如果有人想看,但我真的只是想弄清楚如何做我想要的,所以我的代码现在只是一个非常直接的数据绑定树视图.
当我尝试编辑组合框列的值时,我从我的数据网格获得InvalidOperationException(在AddNew或EditItem事务期间不允许"DeferRefresh").我显示的项目都引用了同一列表中的另一个项目,所以这就是我使用组合框的内容.它与datagrid绑定到同一个集合.我正在处理的应用程序是针对.NET 3.5,但是我已经在.NET 4中组建了一个完全相同的示例,因为数据网格是内置的.以下是datagrid中项目的代码:
public class TestItem : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
private void RaisePropertyChanged(string propertyName)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
private int m_ID;
private string m_Name;
private int m_OppositeID;
public int ID
{
get { return m_ID; }
set
{
m_ID = value;
RaisePropertyChanged("ID");
}
}
public string Name
{
get { return m_Name; }
set
{
m_Name = value;
RaisePropertyChanged("Name");
}
}
public int OppositeID
{
get { return m_OppositeID; } …
Run Code Online (Sandbox Code Playgroud) 我有一个像这样应用RenderTransform的画布:
<Canvas RenderTransform="0.1,0,0,-0.1,0,913">
Run Code Online (Sandbox Code Playgroud)
谁能告诉我这些价值观是什么意思?我似乎无法找到用于解析这些值的转换器.