C# XAML组合框的DataContext不工作
我在XAML中创建了一个WPF组合框:C# XAML组合框的DataContext不工作,c#,wpf,xaml,C#,Wpf,Xaml,我在XAML中创建了一个WPF组合框: <ComboBox DockPanel.Dock="Top" Background="{DynamicResource Esri_BackgroundPressedBrush}" DataContext="DockpaneData" Foreground="{DynamicResource Esri_TextMenuBrush}"
<ComboBox DockPanel.Dock="Top" Background="{DynamicResource Esri_BackgroundPressedBrush}" DataContext="DockpaneData"
Foreground="{DynamicResource Esri_TextMenuBrush}" HorizontalAlignment="Stretch" FontSize="14" VerticalAlignment="Center" Margin="5,0,5,0" IsEditable="True" Text="Jump To"
ItemsSource="{Binding FeatureEditUpdates}">
</ComboBox>
我看到它认为datacontext是一个字符串,这对我来说没有意义
谢谢大家! 表达式
<ComboBox ... DataContext="DockpaneData"/>
将组合框的DataContext设置为字符串文字“DockpaneData”,您可以在错误消息中看到它
在“对象”“字符串”上找不到属性
正确设置DataContext的一种方法是声明并使用XAML资源:
<Window.Resources>
<local:DockpaneData x:Key="DockpaneData"/>
</Window.Resources>
...
<ComboBox ... DataContext="{StaticResource DockpaneData}"/>
...
Datacontext是从其父控件继承而来的,因此您不需要设置单个控件的Datacontext。根据例外情况,combox的Datacontext是字符串类型,而不是DockPaneViewModel。为UserControl页而不是窗口页设置它的正确方法是什么?谢谢你是说
而不是
?
<Window.Resources>
<local:DockpaneData x:Key="DockpaneData"/>
</Window.Resources>
...
<ComboBox ... DataContext="{StaticResource DockpaneData}"/>