silverlight 4 combox不绑定c#
我有一个silverlight页面,可以将对象绑定到该页面 当我第一次加载页面时,所有的组合框都会填满,并且它们会显示正确的选定项。 当我刷新页面时,组合框仍然有它们的项目,但是所选的值没有绑定 装订使用silverlight 4 combox不绑定c#,c#,silverlight-4.0,C#,Silverlight 4.0,我有一个silverlight页面,可以将对象绑定到该页面 当我第一次加载页面时,所有的组合框都会填满,并且它们会显示正确的选定项。 当我刷新页面时,组合框仍然有它们的项目,但是所选的值没有绑定 装订使用 SelectedValue="{Binding WriterID,Mode=TwoWay}" Article.DataContext = ActiveArticle 更新: 当我更改控件的datacontext时,它似乎正在丢失数据绑定 知道为什么吗?正如我在评论中指出的,这是一个已知的问题
SelectedValue="{Binding WriterID,Mode=TwoWay}"
Article.DataContext = ActiveArticle
更新:
当我更改控件的datacontext时,它似乎正在丢失数据绑定
知道为什么吗?正如我在评论中指出的,这是一个已知的问题。我一直找不到我要找的推荐人,但我找到了这个 解决方案是在选择更改时重置绑定表达式。报告中的代码在子类的
组合框中执行此操作,但如果无法在应用程序中重写组合框,则可以在视图类中执行此操作
public class XComboBox : ComboBox
{
private BindingExpression bE;
public XComboBox()
{
this.SelectionChanged += new SelectionChangedEventHandler(XComboBox_SelectionChanged);
}
void XComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (bE==null)
{
bE = this.GetBindingExpression(ComboBox.SelectedValueProperty);
}
else
{
if (this.GetBindingExpression(ComboBox.SelectedValueProperty) == null)
{
this.SetBinding(ComboBox.SelectedValueProperty, bE.ParentBinding);
}
}
}
}
更改datacontext时丢失绑定是一个已知问题。不幸的是,我手头没有参考资料。如果你把这个作为答案,我会接受:)