所以我有一个绑定到下面类型的silverlight树视图控件,我将页面的DataContext
设置为我的ViewModel实例,该实例具有Divisions
属性,该列表为{{1对象。
RmDivision
然后它的界限如下:
public class RmDivision
{
public RmDivision()
{
SubDivisions = new ObservableCollection<RmDivision>();
}
public string Type { get; set; }
public string Name { get; set; }
public IList<RmDivision> SubDivisions { get; set; }
}
现在,我没有例外,每当我点击一个树视图项目时,我的输出窗口我看到了:
System.Windows.Data错误:BindingExpression路径错误:在'xxx.Base.RmDivision''xxx.Base.RmDivision'(HashCode = 35753827)上找不到'Division'属性。 BindingExpression:Path ='Division'DataItem ='xxx.Base.RmDivision'(HashCode = 35753827); target元素是'System.Windows.Controls.ContentControl'(Name =''); target属性是'Content'(类型'System.Object')..
我在这里有点新手并且不知道发生了什么,我知道它的唯一方法是树视图是因为那是唯一一个用 <sdk:TreeView HorizontalAlignment="Stretch" Name="treeBranches"
ItemsSource="{ Binding Divisions }" VerticalAlignment="Stretch" SelectedValuePath="Division" Grid.Row="0" SelectedItemChanged="treeBranches_SelectedItemChanged">
<sdk:TreeView.ItemTemplate>
<sdk:HierarchicalDataTemplate ItemsSource="{Binding SubDivisions}">
<TextBlock Text="{Binding Name}" ToolTipService.ToolTip="{Binding Type}" />
</sdk:HierarchicalDataTemplate>
</sdk:TreeView.ItemTemplate>
</sdk:TreeView>
属性做任何事情的控件,它是Division
,我希望SelectedItem是RmDivision的一个实例,当前它的工作原理是这样的。
此致
答案 0 :(得分:2)
分部不是RmDivision的财产。因此,每次选择treeviewitem时,它都会尝试查找属性,但无法找到它。