Данные, добавленные в сетку данных, не отображаются в пользовательском интерфейсе в WPF в MVP - PullRequest
0 голосов
/ 10 сентября 2009

В приложении WPF,

Я должен отобразить данные в окне журнала, используя сетку данных ..

Каждое сообщение журнала должно быть добавлено в окно журнала и должно отображаться.

Мой Xaml:

  <ListView x:Name="lstViewLogWindow" ItemsSource="{Binding}" Height="152" IsSynchronizedWithCurrentItem="True" MouseEnter="lstViewLogWindow_MouseEnter" MouseLeave="lstViewLogWindow_MouseLeave" >
            <ListView.ItemContainerStyle>
                <Style TargetType="ListViewItem">
                    <Setter Property="Foreground" Value="White"/>
                </Style>
            </ListView.ItemContainerStyle>
            <ListView.View>

                <GridView x:Name="grdViewLogWindow" >
                    <GridViewColumn x:Name="Message" Header="MessageDetails" Width="1000" DisplayMemberBinding="{Binding Path= MessageDetails}"/>
                    <GridViewColumn x:Name="LogDate" Header="DateTime" Width="275" DisplayMemberBinding="{Binding Path= DateTime}" />
                </GridView>
            </ListView.View>
        </ListView>

У меня есть класс LogMessage.cs как

 public class LogMessage
{
   public string Message_Name { get; set; }
   public DateTime LogTime { get; set; }
}

В коде позади ...

public void showmsg(string msg) {

        List<LogMessage> messages    = new List<LogMessage>();
    messages.Add(new LogMessage() { LogTime = DateTime.Now, Message_Name = msg });
            lstViewLogWindow.DataContext = messages;}

Я могу видеть данные, доступные в «сообщениях» ... но я не вижу их в интерфейсе ...

у моего докладчика _view.showmsg(msg) ........

Но я не вижу данных в окне журнала .. Пожалуйста помоги.. Спасибо Рамм

1 Ответ

1 голос
/ 12 сентября 2009

Элемент ItemsSource вашего ListView имеет значение {Binding}. Тем не менее, вы не показали, где вы устанавливаете DataContext вашего представления. Итак, во-первых, в вашем файле code-behind вам необходимо следующее:

this.DataContext = messages;

Кроме того, ваши столбцы связаны с неправильными именами свойств. В настоящее время:

DisplayMemberBinding="{Binding Path= MessageDetails}"
DisplayMemberBinding="{Binding Path= DateTime}"

Должно быть:

DisplayMemberBinding="{Binding Path=Message_Name}"
DisplayMemberBinding="{Binding Path=LogTime}"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...