在我的MainPage上是一個綁定到位置列表的數據透視表。每個位置都有一個綁定到內部ListBox的屬性「RoomNumber」。DataBound支持ListBox - 設計時示例數據
這是XAML:
<controls:Pivot x:Name="mainPivot" ItemsSource="{Binding Locations}" Title="App-Title">
<controls:Pivot.HeaderTemplate>
<DataTemplate>
<TextBlock Text="{Binding LocationName}" />
</DataTemplate>
</controls:Pivot.HeaderTemplate>
<controls:Pivot.ItemTemplate>
<DataTemplate>
<ListBox ItemsSource="{Binding Path=Rooms}">
<ListBox.ItemTemplate>
<DataTemplate>
<ListBoxItem>
<TextBlock Text="{Binding RoomNumber}" />
</ListBoxItem>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</DataTemplate>
</controls:Pivot.ItemTemplate>
</controls:Pivot>
在運行時,這導致在具有PivotItem對於每個位置和在嵌套列表框所有相應RoomNumbers。完善!
但是當我在設計時嘗試添加一些示例數據時,我無法獲取它來顯示數據。 我添加了混合的命名空間中的的PhoneApplicationPage和設計時-的datacontext:
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
d:DataContext="{d:DesignData SampleData/MainViewModelSampleData.xaml}"
樣本數據包含嵌套的房間有些地方,但房間沒有顯示出來。 顯示了pivot-headers,所以它根本不會出錯。但是內部的ListBox是空的,所以我不能直觀地設計ListBoxItems。
首先,我認爲它與沒有顯示第一頁的樞軸itemindex bug有關。但是將xaml中的itemindex設置爲0或1並不能解決問題。
我也嘗試了一些不同的方式來綁定數據,但沒有任何工作。因此,經過數小時的嘗試和搜索網絡,我希望有人有一個想法。
一些圖片的標題說明:
我不知道它的問題,但最終我想我會用列表框
的SL-工具包LongListSelector,而不是因爲它已經工作在運行時很好我更喜歡XAML專用的解決方案,因爲我寧願不改變我的ViewModel來讓設計師工作。但如果沒有選擇,我會改變視圖模型。
編輯: 抱歉,應該補充用過的樣本數據。這是:
<local:MainViewModel
... some namespaces ...
>
<local:MainViewModel.Locations>
<PCSE:Location Id="1" LocationName="a name">
<PCSE:Location.Rooms>
<PCSE:Room Id="1" Date="10.08.2011" RoomNumber="1">
</PCSE:Room>
<PCSE:Room Id="2" Date="11.08.2011" RoomNumber="66">
</PCSE:Room>
<PCSE:Room Id="3" Date="12.08.2011" RoomNumber="45">
</PCSE:Room>
</PCSE:Location.Rooms>
</PCSE:Location>
... some more locations ...
</local:MainViewModel.Locations>
</local:MainViewModel>
這縮短了。有更多的地點和房間有一些孩子節點。我還從地點和房間中刪除了一些屬性,以使其更具可讀性。
僅供參考:沒有帶紅色下劃線的節點/屬性,所以我假設沒有錯別字。
如何創建您的樣本數據?這裏面是什麼? – 2011-12-15 14:54:08