我有以下代碼:在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是的,這是正確的。 –