2012-05-08 2 views
0

여러 개의 tabitem이 있고 각각에 DataGrid가 있고 DataGrid의 특성 "AutoGenerateColumns"를 false로 설정합니다. TabControl은 ScrollViewer에 의해 받아 들여집니다. 다음은 질문입니다. 모든 TabItem의 모든 DataGrid에는 끝에 빈 열이 있습니다. 나는 주위에 인터넷 검색을했지만 유용한 것들을 거의 얻지 못했다. 코드 구조는 다음과 같습니다.ScrollViewer를 사용할 때 DataGrid의 빈 열

<ScrollViewer> 
    <TabControl> 
     <TabItem> 
      <DataGrid AutoGenerateColumns="False"> 
      </DataGrid> 
     </TabItem> 
    </TabControl> 
</ScrollViewer> 

아무도 도와 줄 수 있습니까? 고마워.

업데이트

확인, 실제로 상황은 내가 TabControl에 여러 TabItems을 가지고, 그러나있는 TabControl의 폭이 제한됩니다, 그래서 TabItems를 "스크롤"할 수있는 ScrollViewer를 사용하는거야, 그래서 나는이를 볼 수 있습니다 TabItems는 명확하게, 그리고 그것이 현재의 문제를 일으키는 이유입니다. 내 생각에, ScrollViewer는 TabContem을 의 폭 인 너비로 간접적으로 가져오고 간접적으로 각 TabItem의 DataGrid 너비에 영향을 주므로 DataGrid의 너비보다 DataGrid의 열의 너비가 더 작습니다. 따라서 오른쪽에 빈 열이 있습니다. .

DataGrid 주위에 다른 ScrollViewer를 추가하려고했지만 실패했습니다. 여전히 오른쪽에 빈 부분이 있습니다.

+0

DataGrid의 너비가 열 너비보다 큰 경우 끝에 빈 공간이 있습니다. 실제로는 열이 아니라 셀이없는 행 표면입니다. 이 경우 해당 영역을 클릭하여 행을 선택할 수 없습니다. 그럴까요? –

+0

@ ErenErsönmez 예, 그렇습니다. 그것을 제거하려면 어떻게해야합니까? – user1108069

+0

기본적으로 열이 DataGrid를 채워야합니다. 예를 들어 width = auto 및 horizontalalignment = center를 설정합니다. –

답변

1

마찬가지로 @ ErenErsönmez는 DataGrid에서 예상되는 동작을 응답했습니다. 이 값을 변경하려면 열의 너비 중 하나 이상을 범위로 설정하여 너비를 설정해야합니다. 다음 행을 사용하여 DataGrid의 너비에 맞 춥니 다. 을 TabControl 자체를 스크롤의 관점에서

<TabControl> 
    <TabItem Header="Tab Item 1"> 
     <DataGrid AutoGenerateColumns="False"> 
      <DataGrid.Columns> 
       <DataGridTextColumn Header="Column A" Width="Auto" /> 
       <!-- The following column grows to span the available area --> 
       <DataGridTextColumn Header="Column B" Width="*" MinWidth="100" /> 
       <DataGridTextColumn Header="Column C" Width="Auto" /> 
      </DataGrid.Columns> 
     </DataGrid> 
    </TabItem> 
<TabControl> 

, 당신은 당신이 뭘 하려는지에 관한 몇 가지 세부 사항을 게시 할 수 있습니다. 나는 많은 탭을 가지고 있기 때문에 전체 TabControl 스크롤을 시도하고 있다고 생각합니다. 아마도 이와 같은 (테스트되지 않은) 도움이 될 것입니다. http://rickdoes.net/post/2009/11/06/WPF-Single-Row-Tab-Control.aspx

+0

DataGrid가 scrollviewer를 통합하고 필요에 따라 ScrollBars를 표시하므로 ScrollViewer가 전혀 필요하지 않다고 생각합니다. 귀하의 의견에 따라 답변을 업데이트하겠습니다. –

+0

안녕하세요 제임스, 내가 업데이트 한대로, ** DataGrid **에서 내용을 스크롤하고 싶지 않습니다. 실제로 TabControl에서 TabItems를 스크롤하고 싶습니다. 그리고 TabItems에 영향을 미치는 ScrollView도 TabItems의 DataGrid에 영향을줍니다. – user1108069

+0

그리고 솔루션을 시도했는데 너비가 *로 설정된 열이 너무 넓어서 내 상황에 어울리지 않는다. 어쨌든 고맙다 ~ – user1108069

관련 문제