У меня есть приложение WPF. Он содержит объект OrderBlock, который содержит другие объекты, plesase см. Краткое представление о классе.ListBox в ошибке привязки RowDetail
public class OrderBlocks
{
private List<Order> _orders;
[XmlElement("tF_Transactions")]
public List<Order> Orders { get { return _orders; } set { _orders = value; OnPropertyChanged("Orders"); } }
}
public class Order : INotifyPropertyChanged
{
[XmlIgnore]
public List<Duplications> DuplicateHolder { get; set; }
}
public class Duplications
{
public string ID { get; set; }
public string Name { get; set; }
public Duplications(string newID, string newName)
{
ID = newID;
Name = newName;
}
}
У меня есть datagrid, привязанный к моему объекту Заказы типа List Orders. Мой datagrid имеет деталь строки, так что, когда пользователь нажимает на строку, отображаются дополнительные данные. Я добавил список для этой строки. Я хочу, чтобы эта строка подробно отображала список, который отображает мой объект DuplicateHolder типа List Duplications.
В настоящий момент список пуст. См. Мой код XAML, приведенный ниже. Любая помощь была бы велика, как всегда.
<ListBox Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="3" Name="lbIdentifier" SelectionMode="Single" DataContext="{Binding OrderBlock}" HorizontalContentAlignment="Stretch">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Margin="0,2">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Text="{Binding Path=DuplicateHolder.ID}" FontSize="10" HorizontalAlignment="Left" Margin="5,0,0,0"/>
<TextBlock Grid.Column="1" Text="{Binding Path=DuplicateHolder.Name}" FontSize="10" HorizontalAlignment="Left" Margin="5,0,0,0"/>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
Ну ListBox все еще пуст, однако, если я нажму на ListBox позволяет мне выбрать две «строки» которого я ожидаю. Шрифт черный, поэтому не уверен, что его просто случай, когда значения скрыты? – mHelpMe
Вы уже изменили свойство Text of TextBlock? – Maximus
Теперь он показывает. Я просто изменил Text = {Binding Path = DuplicateHolder.ID} на Text = {Binding Path = ID} и теперь его работу. Огромное спасибо – mHelpMe