【发布时间】:2011-02-10 21:34:49
【问题描述】:
首先,关于数据绑定的几个问题:
- 控件的默认 DataContext 是否设置为代码隐藏?例如,如果我在 test.xaml.cs 中有一个变量
orderNumber,我可以像在 xaml{Binding orderNumber}中那样引用它吗? - 我只能将数据绑定到对象的属性是否正确?
我在一个单独的模块/程序集中有一个 Prism 服务,我通过 MEF 将它导入我的 Shell 应用程序。我正在尝试对其进行数据绑定,但它似乎不起作用。
我的解决方法如下。 在我的 Shell.xaml.cs 中:
[Import(AllowRecomposition = false)]
private IRibbonService _menuService;
public IRibbonService MenuService
{
get
{
return _menuService;
}
}
public void OnImportsSatisfied()
{
Debug.WriteLine("Imports satisfied", "Prism");
this._moduleManager.LoadModuleCompleted += new EventHandler<LoadModuleCompletedEventArgs>(moduleManager_LoadModuleCompleted);
//TODO figure out how to properly bind to the ribbon
Ribbon.DataContext = _menuService;
RibbonAppMenu.DataContext = _menuService.ApplicationMenuData;
}
有没有办法在设置对象之前在 xaml 中设置数据上下文 - 特别是关于 MEF / Prism 场景?在我的功能区对象上,我尝试了DataContext="{Binding MenuService}",但没有奏效。
【问题讨论】:
标签: c# wpf data-binding prism mef