2016-11-10 2 views
0

보기 모델의 ObservableCollection<T> 속성을보기에 바인딩해야합니다. 이것은 내 뷰 모델 클래스입니다.개체 인스턴스를 ObservableCollection에서 ListView로 바인딩

그리고 내 XAML 사용자 컨트롤입니다. 응용 프로그램이 실행되는

<UserControl x:Class="Product.Views.CompositeView" 
      xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
      xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
      xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
      xmlns:models="clr-namespace:Product.ViewModels" 
      mc:Ignorable="d"> 
    <ListView ItemsSource="{Binding CollectionB}"> 
     <ListView.View> 
      <GridView> 
       <GridViewColumn Header="Id" Width="300" DisplayMemberBinding="{Binding Id}"/> 
       <GridViewColumn Header="Name" Width="300" DisplayMemberBinding="{Binding Name}"/> 
      </GridView> 
     </ListView.View> 
    </ListView> 

    <UserControl.DataContext> 
     <models:CompositeViewModel/> 
    </UserControl.DataContext> 
</UserControl> 

ListView 표시 MyType 클래스의 완전 수식 명입니다. 대신 IdName 필드의 값을 표시하려면 어떻게해야합니까?

편집 : 내가 본 출력의 스크린 샷을 추가했습니다.

enter image description here

내 출력을 표시하는 아빈 매튜에 의해 수정 됨.

enter image description here

+0

예를 들어 완전한 이름으로 무엇을 의미합니까? –

+0

클래스의 완전한 이름은 문자열'Namespace.MyType'을 의미합니다. 이것은 객체의'ToString()'메소드에서 기본적으로 반환하는 값입니다. –

+1

나는 정확한 코드를 사용했지만 어떤 종류의 문제도 보지 못했습니다. 당신이 코딩 한 방식으로 작동합니다. –

답변

0

은 지금 바보가 된 기분. 내 스타일로 선언 된 다음 발췌 문장을 보았습니다.

<Style TargetType="{x:Type ListViewItem}"> 
    <Setter Property="Background" Value="Transparent"/> 
    <Setter Property="Template"> 
     <Setter.Value> 
      <ControlTemplate TargetType="{x:Type ListViewItem}"> 
       <ContentPresenter/> 
      </ControlTemplate> 
     </Setter.Value> 
    </Setter> 
</Style> 

그것은 다른 ListView 예를 들어 필요하다고 나는 일시적으로 응용 프로그램 자원에 넣어했다. 이를 인스턴스의 스타일 정의로 이동하면 문제가 해결되었습니다.

관련 문제