2009-09-10 3 views
0

에 WPF의 UI에서 I 데이터 그리드를 사용하여 로그 윈도우에 데이터를 표시 할데이터는 WPF 애플리케이션에서 MVP

..

모든 로그 메시지가 추가되어야하지 표시 데이터 격자 첨가 로그 윈도우로 표시해야합니다.

내 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> 

내가 뒤에있는 코드에서

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

로 LogMessage.cs 클래스가 ...

public void showmsg(string msg) { 

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

내가 볼 수 있어요 데이터 '메시지'에서 사용할 수 있지만 ... UI에서 그것을 볼 수 couldnt ...

답변

1

가 귀하의 ListView의 ItemsSource로 설정 감사에게 .. Ramm

을 16,

내 발표자

........ _view.showmsg(msg)있다하지만 데이터가 그가 도와주세요 .. 로그 창 int로 볼 수 없습니다 { 제본}. 그러나 뷰의 DataContext를 설정하는 위치를 표시하지 않았습니다. 먼저 코드 숨김 파일에서 다음이 필요합니다.

this.DataContext = messages; 

또한 열이 잘못된 속성 이름에 바인딩됩니다. 현재 :

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

은 다음과 같아야합니다

DisplayMemberBinding="{Binding Path=Message_Name}" 
DisplayMemberBinding="{Binding Path=LogTime}"