public class Dict
{
[Key]
public string Code { get; set; }
[Required]
public string Name { get; set; }
}
public class Record
{
[Key]
public string Code { get; set; }
}
public class Error
{
public Dict Dict { get; set; }
public Record Record { get; set; }
[Required]
public DateTime Date { get; set; }
[Required]
public ErrorType Type { get; set; }
public bool Corrected { get; set; }
[ForeignKey("Dict")]
public string DictCode { get; set; }
[ForeignKey("Record")]
public string RecordCode { get; set; }
}
Необходимо в ListView в WPF: 1. привязать свойство Dict объекта Error к колонке 2. поменять отображение свойства Corrected на "Да/Нет" вместо "True/False" 3. Как задать формат выводимого времени Как сделать?
Пытаюсь привязать. в Коде пишу так:
InitializeComponent();
Database.SetInitializer(new DropCreateDatabaseIfModelChanges<Context>());
Context context = new Context();
this.DataContext = context;
listView.ItemsSource = new ObservableCollection<Error> (context.Errors.ToList());
в разметке
<ListView x:Name="listView" Height="144" Width="501">
<ListView.View>
<GridView>
<GridViewColumn DisplayMemberBinding="{Binding Path=DictCode}">Код справочника</GridViewColumn>
<GridViewColumn DisplayMemberBinding="{Binding Dict.Name}">Имя справочника</GridViewColumn>
<GridViewColumn DisplayMemberBinding="{Binding Path=RecordCode}">Код Записи</GridViewColumn>
<GridViewColumn DisplayMemberBinding="{Binding Path=Date}" >Дата</GridViewColumn>
<GridViewColumn DisplayMemberBinding="{Binding Path=Type}">Тип</GridViewColumn>
<GridViewColumn DisplayMemberBinding="{Binding Path=Corrected}">Исправлена</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
строка
<GridViewColumn DisplayMemberBinding="{Binding Dict.Name}">Имя справочника</GridViewColumn>
не выводит данные. что делать?
<ListView x:Name="listView" Height="144" Width="501" ItemsSource="{Binding Errors}">
<ListView.View>
<GridView>
<GridViewColumn DisplayMemberBinding="{Binding Path=DictCode}">Код справочника</GridViewColumn>
<GridViewColumn DisplayMemberBinding="{Binding Dict.Name}">Имя справочника</GridViewColumn>
<GridViewColumn DisplayMemberBinding="{Binding Dict.Code}">Имя справочника</GridViewColumn>
<GridViewColumn DisplayMemberBinding="{Binding Path=RecordCode}">Код Записи</GridViewColumn>
<GridViewColumn DisplayMemberBinding="{Binding Path=Date, StringFormat=d}" >Дата</GridViewColumn>
<GridViewColumn DisplayMemberBinding="{Binding Path=Corrected, Converter={StaticResource MyConverter}}">Исправлена</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
код
public MainViewModel()
{
Errors.Add(new Error() {Corrected = true, Date = DateTime.Now, DictCode = "code", RecordCode = "str", Dict = new Dict() {Code = "1231223", Name = "name"} });
}
public ObservableCollection<Error> Errors
{ get { return _errors; } }
конвертер
public class MyConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
var val = (bool) value;
if (val) return "Да";
return "Нет";
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
для отображения даты в конфигурируемом формате данных используйте
StringFormat='{}{0:dd/MM/yyyy}'
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Не получается у меня сделать фильтра таблицы с помощью ajax запросаУ меня выходит ошибка постоянно когда я на любом месте нажимаю на сайте,...
Подскажите новичку как начать работу с VagrantЯ установил все, VirtualBox, Vagrant, все работает, не могу понять как синхронизировать файлы, а именно чтобы...