我有什麼應該是一個非常簡單的綁定,但我看到的問題是,而不是顯示三家公司(company_list是一個列表,其中公司包含一個company_id綁定),我看到該窗口彈出公司_list中的company_id只有第一個。我有其他的綁定似乎工作正常,並在其他一些情況下,我看到我已經使用ItemSource而不是DataContext,但是當我使用它時,我得到「Items集合必須爲空之前使用ItemsSource」。我已經在stackoverflow,msdn和其他地方廣泛搜索了一個簡單的答案,並且看到了大部分非常複雜的解決方案,但我一直無法理解/應用。C#/ XAML/WPF綁定部分工作,只顯示列表中的第一項
當出現在我的窗口,它具有:
公司A
,它應該有:
公司A
CompanyB
CompanyC
這是company_list的內容(是的,在調試器中驗證)。建議感激!代碼和XAML遵循。
ReadMasterCompanyList(); // populates a_state.company_list with 3 companies
// display company list dialog
CompanySelect cs_window = new CompanySelect();
cs_window.CompanyListView.DataContext = a_state.company_list;
// fails: cs_window.CompanyListView.ItemsSource = a_state.company_list;
cs_window.Show();
而且從COMPANY選擇的XAML:
<Grid>
<ListView IsSynchronizedWithCurrentItem="True"
x:Name="CompanyListView"
SelectionMode="Single" SelectionChanged="CompanyListView_SelectionChanged">
<ListView.ItemContainerStyle>
<Style TargetType="{x:Type ListViewItem}">
<Setter Property="Height" Value="30"/>
</Style>
</ListView.ItemContainerStyle>
<ListViewItem Content="{Binding Path=company_id}"></ListViewItem>
</ListView>
</Grid>
我能夠按照建議在cs_window.Show()之後設置ItemSource。涼!我會按照建議嘗試XAML中的ItemsSource;曾嘗試過,但還有其他錯誤,那麼以及:-) – Ken 2011-02-18 16:55:38