我将域上下文定义为用户资源
<UserControl.Resources>
<my:ParkDomainContext x:Key="parkDomainContext" />
</UserControl.Resources>
我已经将查询结果限制在我的代码
后面的这个域上下文中_parkDomainContext = this.Resources["parkDomainContext"] as ParkDomainContext;
_parkDomainContext.Load(_parkDomainContext.GetLocationsQuery(), LoadLocationComplete, null);
_parkDomainContext.Load(_parkDomainContext.GetParksQuery(), LoadParkComplete, null);
在此之后,我将静态域上下文绑定到组合框,如下所示
<ComboBox x:Name="cboLocation" Grid.Column="1" Grid.Row="1"
ItemsSource="{Binding Path=Locations, Source={StaticResource parkDomainContext}}"
SelectedItem="{Binding Path=Locations, Mode=TwoWay}"
DisplayMemberPath="ParkLocation"
/>
它工作正常,但是当我将相同的域上下文绑定到文本框时,如下所示:
<TextBox Grid.Column="1" Grid.Row="0" Height="23" HorizontalAlignment="Left" Margin="3" Name="locationIDTextBox"
VerticalAlignment="Center" Width="120"
Text="{Binding Source={StaticResource parkDomainContext}, Path=Locations.ParkLocation}" >
它没有向我显示任何结果。
我知道我的域上下文有查询结果,并且将它绑定到Textbox一定有问题。
让我知道解决方案..
答案 0 :(得分:0)
你需要在一个变量中保存当前位置并将文本框绑定到它。相反,你现在拥有的是ComboBox.SelectedItem绑定到位置列表(这将无法工作)。
OP评论后编辑:
添加到<UserControl.Resources>
<my:Location x:Key="currentLocation" />
然后将ComboBox更改为:
SelectedItem="{Binding Source={StaticResource currentLocation}, Mode=TwoWay}"
然后是TextBox:
Text={Binding Source={StaticResource currentLocation}, Mode=TwoWay}"
注意: