我正在尝试使树视图处理我的数据。我正在使用带有Caliburn Micro的WPF MVVM,但由于某种原因,我无法按需使用绑定。
我的简化形式的数据如下所示。
A级操作
public class Operation
{
public string Name { get; set; }
public int Id { get; set; }
public ObservableCollection<Parameters> parameters { get; set; }
public Operation()
{
parameters = new ObservableCollection<Parameters>();
}
}
和类参数
public class Parameters
{
public string par { get; set; }
public double val { get; set; }
public ObservableCollection<Joints> Joints { get; set; }
public Parameters()
{
Joints = new ObservableCollection<Joints>();
}
}
和关节课
在我的ShellViewModel中,我初始化这些类并将一些数据放入其中...
public Operation _Operation = new Operation();
int moveId = 0;
public BindableCollection<Operation> Operations
{
get { return _Operations; }
set
{
_Operations = value;
NotifyOfPropertyChange(() => Operations);
}
}
public ShellViewModel()
{
var moveOperation = new Operation
{
Id = moveId,
Name = $"Move{moveId}"
};
Joints jt1 = new Joints() { Par = "J0", Val = 2.34 };
Joints jt2 = new Joints() { Par = "J0", Val = 0.34 };
Parameters parm = new Parameters { par = "a", val = 2.13 };
parm.Joints.Add(jt1);
parm.Joints.Add(jt2);
moveOperation.Parameters.Add(parm);
}
我的目标是在树状视图中将其可视化,如下所示:>
- Move1 -a 2.13 -Joints -J0 2.34 -J1 0.34 - Move2 -a 'some value' -Joints -J0 'some value' -J1 'some value'
但是,但是我尝试使xaml起作用,但我从未能够向孩子展示这些……这只是我所做的示例之一。
<TreeView Grid.Row="1" Grid.Column="1" MinWidth="150" ItemsSource="{Binding Operations}"> <TreeView.ItemTemplate> <HierarchicalDataTemplate ItemsSource="{Binding Parameters}"> <StackPanel Orientation="Horizontal"> <TextBlock VerticalAlignment="Center" Text="{Binding par}"/> <TextBlock Text=" " ></TextBlock> <TextBlock VerticalAlignment="Center" Text="{Binding val}"/> <TextBlock VerticalAlignment="Center" Text="{Binding Par}"/> <TextBlock VerticalAlignment="Center" Text="{Binding Val}"/> <TextBlock VerticalAlignment="Center" Text="{Binding Par}"/> <StackPanel Orientation="Horizontal"> <TextBlock VerticalAlignment="Center" FontSize="15" Text="{Binding Name}"/> </StackPanel> </StackPanel> </HierarchicalDataTemplate> </TreeView.ItemTemplate> </TreeView>
请提供任何指导或帮助,我已经失去了整整三天的时间,只是为了使此树形视图正常工作。谢谢!
编辑:我在Parameters类中有一个错字,感谢您指出。我想将“关节”的位置比以前降低一个级别,这实际上是我遇到的问题,如何进入更深的级别
我正在尝试使树视图处理我的数据。我正在使用带有Caliburn Micro的WPF MVVM,但由于某种原因,我无法按需使用绑定。我的简化形式的数据如下所示。 ...
在您的XAML树状视图中,您必须这样做以获得子代。