我放棄了我的代碼錯誤,所以我決定寫在這裏。我真的希望得到一個解決方案。我想要的列表框是:當我點擊按鈕時,它將從數據庫檢索數據,然後將其加載到列表框中。它運行良好。但是當我添加wpf風格時,它開始出現問題,因爲我想將圖像添加到文本旁邊的每個項目中 - 圖像(右側)和文本(左側)。列表框中的結果是空白的,但實際上它似乎有一個數據列表 - 請看圖片。我可能在我的代碼或wpf中做了錯誤的事情。我不知道什麼是問題....如果你能看看我的代碼,我將不勝感激。您提供的代碼將會非常有用。非常感謝!c#和wpf危機與空白列表框項目
WPF:
<ListBox Name="lstDinner" DisplayMemberPath="Name" Margin="513,85,608,445" Style="{DynamicResource ResourceKey=styleListBox}"/>
WPF風格:
<DataTemplate x:Key="templateListBoxItem">
<Grid Margin="5">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"></ColumnDefinition>
<ColumnDefinition Width="*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
</Grid.RowDefinitions>
<Border Grid.Column="0"
Grid.Row="0"
Grid.RowSpan="2"
Margin="0,0,10,0">
<Image Source="{Binding Path=Image}"
Stretch="Fill"
Height="40"
Width="40"></Image>
</Border>
<TextBlock Text="{Binding Path=Name}"
FontWeight="Bold"
Grid.Column="1"
Grid.Row="0"></TextBlock>
<TextBlock Text="{Binding Path=About}"
Grid.Column="1"
Grid.Row="1"></TextBlock>
</Grid>
</DataTemplate>
<Style x:Key="styleListBox" TargetType="{x:Type ListBox}">
<Setter Property="ItemTemplate" Value="{StaticResource ResourceKey=templateListBoxItem}"></Setter>
</Style>
C#:
private void Button_Click(object sender, RoutedEventArgs e)
{
_dinnerExtractor = new DinnerExtractor();
const int oneDay = 1;
_databaseDinnerList = new ObservableCollection<FoodInformation>(_dinnerExtractor.GetDinnerDays(oneDay));
if (_databaseDinnerList != null)
{
foreach (var list in _databaseDinnerList)
{
lstDinner.Items.Add(new FoodInformation { Dinner = list.Dinner, DinnerImage = list.DinnerImage});
}
//lstDinner.ItemsSource = _databaseDinnerList;
}
}
@kmatyaszek在他的回答下面是正確的。爲了將來的參考,如果你在運行你的程序時看到輸出窗口,你應該看到綁定錯誤出現在這種情況下,這應該是一個線索,這是你的問題。當我的視圖中出現錯誤時,我總是先看看那裏! :) – Steve