У меня есть коллекция объектов, и в каждом объекте есть список свойств (PropertyChanges
).Эти элементы должны быть перечислены в списке «listViewPropertyDetails» Listview
, но даже преобразователь «propertyChangeConverter» не получает какой-либо объект для преобразования.Любое другое свойство объекта может быть привязано, например, к имени пользователя.Но если я попытаюсь связать коллекцию PropertyChanges, ничего не отобразится, конвертер не сработает.что я забыл?Я ищу часы и не могу найти правильный ответ.Надеюсь, кто-нибудь может мне помочь.
public class ObjectHistory
{
public string Username { get; set; }
public DateTime DateOccurred { get; set; }
public List<PropertyChange> PropertyChanges = new List<PropertyChange>();
}
public class PropertyChange
{
public string PropertyName { get; set; }
public string OldValue { get; set; }
public string NewValue { get; set; }
}
<DataTemplate x:Key="HistoryObjectList">
<Expander IsExpanded="True">
<Expander.Header>
<MultiBinding Converter="{StaticResource historyObjectHeaderConverter}">
<Binding Path="DateOccurred"/>
<Binding Path="Username"/>
</MultiBinding>
</Expander.Header>
<Grid Name="grid1"
Height="Auto">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Label Name="LabelpropertyChanges"
Grid.Row="0"
HorizontalAlignment="Left"
Margin="15,25,0,0"
VerticalAlignment="Top"
Padding="0,0,0,0"
Content="PropertyChanges"
></Label>
<ListView Name="listViewPropertyDetails"
Grid.Row="1"
Margin="15,25,0,0"
HorizontalAlignment="Stretch"
HorizontalContentAlignment="Stretch"
ItemsSource="{Binding PropertyChanges, Converter={StaticResource propertyChangeConverter}}"
>
<ListView.View>
<GridView>
<GridViewColumn Header="PropertyName"
Width="120"
DisplayMemberBinding="{Binding PropertyName}"/>
<GridViewColumn Header="OldValue"
Width="265"
DisplayMemberBinding="{Binding OldValue}"/>
<GridViewColumn Header="NewValue"
Width="265"
DisplayMemberBinding="{Binding NewValue}"/>
</GridView>
</ListView.View>
</ListView>
</Grid>
</Expander>
</DataTemplate>