2012-10-17 48 views
1

我有一個包含「AddressDetails」UserControl項目的「AddressListBox」列表框,如下面的.xaml文件提取中所示。地址收集被定義爲Windows Phone應用程序:綁定列表框中包含的用戶控件中的數據

的ObservableCollection <地址>地址

和街道,門牌號,郵政編碼,城市是地址類的屬性。當我使用下面顯示的「{Binding property}」語法時,綁定失敗。當我在註釋掉的代碼中使用「虛擬」字符串時,綁定成功。我也嘗試過「{Binding Path = property}」語法,但沒有成功。你能建議我用什麼語法來綁定用戶控件中的數據嗎?

 <ListBox x:Name="AddressListBox" 

       DataContext="{StaticResource dataSettings}" ItemsSource="{Binding Path=Addresses, Mode=TwoWay}"> 
      <ListBox.ItemTemplate> 
       <DataTemplate> 
        <!-- 
        <usercontrols:AddressDetails AddressRoad="dummy" AddressNumber="dummy2" AddressPostCode="dummy3" AddressCity="dummy4"> 
        </usercontrols:AddressDetails> 
        --> 

        <usercontrols:AddressDetails AddressRoad="{Binding Street}" AddressNumber="{Binding Number}" AddressPostCode="{Binding PostCode}" AddressCity="{Binding City}"> 
        </usercontrols:AddressDetails> 

       </DataTemplate> 
      </ListBox.ItemTemplate> 
     </ListBox> 

回答

0

您需要將usercontrol上的datacontext設置爲像這樣的項目。

<usercontrols:AddressDetails DataContext={Binding} ... </usercontrols:AddressDetails>

現在你的其他綁定應能正常工作,因爲他們是相對於項目。

相關問題