2010-06-28 4 views
4

ListView가 있고 View = List의 경우 목록 항목이 컨트롤의 전체 너비를 채우도록하려는 것입니다. 즉, 항목을 클릭하면 전체 행이 강조 표시됩니다.ListViewItem에 대해 전체 행 강조 표시를 표시하는 방법은 무엇입니까?

ListView 또는 ListViewItem에서이 동작을 제어하기위한 설정을 찾을 수 없으며 고정 너비의 텍스트에 의존 할 수 없기 때문에 공백으로 채우기가 제대로 작동하지 않습니다.

누구나 어떻게 해야할지 알고 계십니까?

답변

8

당신은 ListView의 폭에 ListViewItem의 폭을 바인딩 할 수 있습니다 :

... 
    <ListView.ItemContainerStyle> 
     <Style TargetType="ListViewItem"> 
      <Setter Property="Width" Value="{Binding ActualWidth, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListView}}}" /> 
     </Style> 
    <ListView.ItemContainerStyle> 
... 


편집 : 당신은 내가 상상 진정한

+0

ListView.FullRowSelect 속성을 설정할 수 있습니다 WPF에서 작동하지만 Windows Forms를 사용하고 있습니다! 그게 어떻게 WinForms에서 할 수있는 모든 아이디어? – Pat

+0

죄송합니다 ... WPF에서 코딩하는 데 많은 시간을 할애하고 있습니다. 죄송합니다. 내 업데이트 된 답변보기 –

+2

Thomas. 사실, FullRowSelect는 View = Details (http://msdn.microsoft.com/en-us/library/system.windows.forms.listview.fullrowselect.aspx) 일 때만 작동합니다. 그러나 전환 할 수있었습니다. 문제가없는 세부 정보보기, 그래서 나를 위해 일했다. – Pat

관련 문제