2017-10-16 93 views
-3

我有一個簡單的WPF應用程序,具有一個屬性Generator然後具有ObservableCollection屬性DataList的App類。Binding.Source屬性的正確語法是什麼?

我想將DataList綁定到ListBox。下面的語法是正確的:

<ListBox ItemsSource="{Binding Property=Generator.DataList, Source="{x:Static local:App:Current}" }" /> 

但下面是錯誤的:

<ListBox ItemsSource="{Binding Property=Generator.DataList, Source="TheApp" }" /> 

其中,該app是主窗口類的公共屬性,定義如下:

public App TheApp {get; set;} = (App)Application.Current; 

那麼,什麼是正確的語法來源,我在哪裏可以找到最好的解釋?謝謝。

+0

你試試我的建議還是發生了什麼事? – mm8

回答

0

嘗試這種情況:

<ListBox ItemsSource="{Binding Path=TheApp.Generator.DataList, RelativeSource={RelativeSource AncestorType=Window}}" /> 

類(MainWindow)是在源和屬性(TheApp)是路徑的一部分。

數據綁定概述:https://docs.microsoft.com/en-us/dotnet/framework/wpf/data/data-binding-overview

如何:指定綁定源:https://docs.microsoft.com/en-us/dotnet/framework/wpf/data/how-to-specify-the-binding-source

Binding.Path物業:https://msdn.microsoft.com/en-us/library/system.windows.data.binding.path(v=vs.110).aspx