我在将文本框绑定到viewmodel时遇到问题。
<DataTemplate x:Key="ContentDetail" >
<StackPanel Orientation="Horizontal" Height="500"">
<TextBlock TextWrapping="Wrap" Text="{Binding SelectedCall.CUCODE }" />
</StackPanel>
</DataTemplate>
我知道绑定很好,因为它也绑定在datatemplate
之外DataContext="{Binding HelpdeskViewModel, Source={StaticResource ServiceLocator}}"
dx:ThemeManager.ThemeName="VS2010" SelectedItem="{Binding SelectedCall,UpdateSourceTrigger=PropertyChanged}">
任何指针都会被感激地接受。
编辑:
<dxg:GridControl.DetailDescriptor>
<dxg:TabViewDetailDescriptor>
<dxg:TabViewDetailDescriptor.DetailDescriptors>
<dxg:ContentDetailDescriptor ContentTemplate="{StaticResource ContentDetail}" HeaderContent="More Detail" >
</dxg:ContentDetailDescriptor>
</dxg:TabViewDetailDescriptor.DetailDescriptors>
</dxg:TabViewDetailDescriptor>
</dxg:GridControl.DetailDescriptor>
答案 0 :(得分:0)
模板中的项目绑定到模板中的当前项目(因此,此范围中的datacontext不是窗口的viewmodel,而是当前项目。)
我假设SelectedCall是窗口viewmodel上的属性,而不是每个绑定项上的属性,因此您无法访问它。如果它也是每个模型的属性,那么只需绑定到CUCODE,否则,如果它是每个窗口项目一个,则必须追溯到祖先窗口&amp;绑定到窗口的datacontext,而不是在模板的上下文中为您自动设置的那个。
你可能正在寻找类似的东西
<TextBlock Text="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}, Path=SelectedCall.CUCODE }}" />