我已经创建并将在这个问题中引用的文件是:TechnicainSelectionView.xamlTechnicianSelectionView.csTechnicianSelectionViewModel.csTechnician.cs(代码优先实体)我...
我在这个问题中创建并将引用的文件是:
TechnicainSelectionView.xaml
TechnicianSelectionView.cs
TechnicianSelectionViewModel.cs
Technician.cs (Code First Entity)
我的 TechnicanSelectionView.xaml 中有以下 xaml
<UserControl xmlns etc... here"
d:DesignHeight="48" d:DesignWidth="300">
<Grid>
<StackPanel>
<Label Content="Select a Technican to run the test" FontWeight="Bold"></Label>
<ComboBox ItemsSource="{Binding Technicians, Mode=TwoWay}"></ComboBox>
</StackPanel>
</Grid>
</UserControl>
ItemSource 设置为绑定到的 Technicians 属性表明它 Cannot resolve Technicians due to an unknown DataContext.
所以如果我们查看我的 TechnicianSelectionView.cs 代码隐藏...
public partial class TechnicianSelectionView : UserControl
{
public TechnicianSelectionViewModel ViewModel { get; private set; }
public TechnicianSelectionView()
{
InitializeComponent();
Technician.GenerateSeedData();
ViewModel = new TechnicianSelectionViewModel();
DataContext = ViewModel;
}
}
...我们看到我正在将视图的 DataContext 设置为我的 TechnicianSelectionViewModel...
public class TechnicianSelectionViewModel : ViewModelBase
{
public ObservableCollection<Technician> Technicians { get; set; }
public TechnicianSelectionViewModel()
{
Technicians = new ObservableCollection<Technician>();
}
public bool IsLoaded { get; private set; }
public void LoadTechnicians()
{
List<Technician> technicians;
using (var db = new TestContext())
{
var query = from tech in db.Technicians
select tech;
foreach (var technician in query)
{
Technicians.Add(technician);
}
}
IsLoaded = true;
}
}
技术人员是我的 ViewModel 上的一个属性......
那么,既然已经为视图设置了 DataContext,为什么它不能将 ViewModel 上的技术人员解析为它要绑定到的 DataContext/属性?
编辑:
正如下面评论中提到的担忧。这是一个设计时问题,而不是编译时问题。我应该在一开始就指出这一点。
我需要做什么才能进一步限定 DataContext 的绑定?
下载声明:
本站所有软件和资料均为软件作者提供或网友推荐发布而来,仅供学习和研究使用,不得用于任何商业用途。如本站不慎侵犯你的版权请联系我,我将及时处理,并撤下相关内容!
帖子版权声明
1、本帖标题:我需要做什么才能进一步限定 DataContext 的绑定? 本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com
除非注明,本帖由dr_barto 在本站《xaml》 版块原创发布,
转载请注明出处!