我有以下代码:在XAML绑定的DataContext用的DataContext在代码中设置
ProcessMainWindow.xaml.cs
public ProcessMainWindow(SourceTableRowInfo rowContent)
{
InitializeComponent();
this.DataContext = rowContent;
}
ProcessMainWindow.xaml
<!--Insert Code---->
<TabItem x:Name="postProcessTab" Header="Post-Processes">
<local:PostProcessUserControl PostProcessItem="{Binding PostProcess, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
</TabItem>
所以RowContent在其中有一个名为PostProcess的元素。我试图将该元素绑定到UserControl依赖属性,但无法使绑定工作。根据我正在阅读的内容here (Using the DataContext)我的理解是,我所拥有的应该可以工作,但我无法完成它的工作。所以我误解了它在说什么?我已经阅读了其他几页,但仍然无法弄清楚。
我也曾尝试:
<!--Insert Code---->
<TabItem x:Name="postProcessTab" Header="Post-Processes">
<local:PostProcessUserControl PostProcessItem="{Binding, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, Path=PreProcess}" />
</TabItem>
如果这是正确的,我想我在我的代码的其他地方有一个错误。我还没有完全理解WPF中的数据绑定,以了解是否属于这种情况,尽管如此,任何帮助将不胜感激。
这应该可以工作,但值得指出的是XAML设计器不会使用该构造函数。 – Spivonious
“RowContent有一个名为PostProcess的元素”:这是否意味着'SourceTableRowInfo'具有一个公共属性,具有一个名为'PostProcess'的公共'get'? –
@EdPlunkett是的,这是正确的。 –