似乎工作細跟我的樣本項目:
窗口1 XAML:
<Window x:Class="WpfApplication7.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:WpfApplication7="clr-namespace:WpfApplication7"
Title="Window1" Height="300" Width="300">
<Grid>
<ListBox x:Name="myListbox">
<ListBox.ItemTemplate>
<DataTemplate>
<WpfApplication7:ContactView/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
</Window>
ContactView XAML(沒有後面的代碼需要;)):後面
<UserControl x:Class="WpfApplication7.ContactView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Border>
<DockPanel>
<StackPanel DockPanel.Dock="Right" Orientation="Vertical">
<TextBlock Text="{Binding Path=ContactFirstName, FallbackValue=FirstName}" FontWeight="Bold" Margin="5, 0, 5, 0"></TextBlock>
<TextBlock Text="{Binding Path=ContactLastName, FallbackValue=LastName}" FontWeight="Bold" Margin="5, 0, 5, 0"></TextBlock>
<TextBlock Text="{Binding Path=ContactNumber, FallbackValue=Number}" Margin="5, 0, 5, 0"></TextBlock>
</StackPanel>
</DockPanel>
</Border>
</UserControl>
代碼窗口1:
public partial class Window1
{
public Window1()
{
InitializeComponent();
myListbox.ItemsSource = new[]
{
new Contact { ContactFirstName = "Stack", ContactLastName = "Overflow", ContactNumber = 1 },
new Contact { ContactFirstName = "Stack", ContactLastName = "Overflow", ContactNumber = 2 },
new Contact { ContactFirstName = "Stack", ContactLastName = "Overflow", ContactNumber = 3 },
};
}
}
public class Contact
{
public string ContactFirstName { get; set; }
public string ContactLastName { get; set; }
public int ContactNumber { get; set; }
}
我認爲你的問題在於ItemsSource中的項目。確保你綁定到正確的屬性。我的聯繫人對象具有正確的屬性。也許你的ItemsSource中的對象有不同的屬性名稱?或者,這些對象是否有聯繫人的屬性,以保存您想要的屬性?
如果你在你的ItemsSource對象聯繫人屬性,你可以使用綁定在TextBlock中,如下所示(注意點):
<TextBlock Text="{Binding Path=Contact.FirstName}" FontWeight="Bold" Margin="5, 0, 5, 0"></TextBlock>
希望這有助於有點針指向您的問題所在!
我看不出我在做什麼以及在那裏做了什麼。綁定連線的位置沒有錯誤。如果我沒有綁定到正確的位置,我會在輸出窗口中看到一個錯誤,所以我知道我確實是。我已經調試了ViewModel,並且屬性肯定顯示了正確的值。我在set上調用OnPropertyChanged,所以綁定會更新。我只看到沒有錯...... – Harry 2010-06-01 11:53:37
屬性是否也檢索?嘗試在get上放置一個斷點,看看它們是否真的被檢索到.. – Arcturus 2010-06-01 12:26:24
這很奇怪...它設置它們,因爲它應該,但是當它去檢索它們的值爲零... – Harry 2010-06-01 12:45:29