2012-02-17 3 views
0

WPF 응용 프로그램을 작성하고 있습니다. 응용 프로그램에서 두 개의 열이있는 표가 있습니다. 한 열에는 응용 프로그램이 실행될 때 아무런 문제없이 주 창의 높이에 걸쳐있는 테두리 태그가 있습니다.테두리 배경 이미지가 전체 테두리에 걸쳐 있지 않습니다.

내가 겪고있는 문제는 배경 이미지가 응용 프로그램 높이에 걸쳐 있고 테두리 안에 포함되기를 원합니다. 그러나 응용 프로그램을 실행할 때 페이지에있는 컨트롤의 배경을 제공하기에 충분한 공간 만 차지합니다. 즉, 그리드 열의 절반 이상이 흰색으로 유지됩니다. 나는 이미지를 스트레칭 (스트레치를 채우기 위해 설정) 해 보았습니다. 이미지가 충분히 큽니다.

내가 원하는 것을 어떻게 얻을 수 있습니까?

<Border> 
     <Border.Background> 
      <ImageBrush ImageSource="../Assets/control bg.png" Stretch="Fill" /> 
     </Border.Background> 
     <Grid Margin="10,10,10,0"> 
      <Grid.Background> 
       <ImageBrush /> 
      </Grid.Background> 
      <Grid.RowDefinitions> 
       <RowDefinition Height="Auto"/> 
       <RowDefinition/> 
      </Grid.RowDefinitions> 
      <Border BorderBrush="Black" BorderThickness="1"> 
       <TextBlock TextWrapping="Wrap" Text="Owner Information" Margin="5,0,0,0" FontSize="21.333" Foreground="#FF2B2B2B" FontFamily="Verdana"/> 
      </Border> 
      <Grid Margin="10,10,5,5" Grid.Row="1"> 
       <Grid.ColumnDefinitions> 
        <ColumnDefinition/> 
        <ColumnDefinition/> 
       </Grid.ColumnDefinitions> 

       <Grid> 
        <Grid.RowDefinitions> 
         <RowDefinition Height="Auto"/> 
         <RowDefinition Height="Auto"/> 
         <RowDefinition Height="Auto"/> 
         <RowDefinition Height="Auto"/> 
         <RowDefinition Height="Auto"/> 
         <RowDefinition Height="Auto"/> 
         <RowDefinition Height="Auto"/> 
         <RowDefinition Height="Auto"/> 
         <RowDefinition/> 
        </Grid.RowDefinitions> 
        <Grid.ColumnDefinitions> 
         <ColumnDefinition Width="Auto"/> 
         <ColumnDefinition/> 
        </Grid.ColumnDefinitions> 
          </Grid> 

그리드 내가 탈락 한 일부 컨트롤을 포함하지 :

여기에 중요한 XAML입니다. 그들은 단지 텍스트 상자와 콤보입니다. Grid의 기본적 행으로

과 열에서 가장 큰 컨텐츠를 수용하기 위해 필요한 공간의 최소 금액을 차지 :

+2

XAML을 게시하십시오. – Snowbear

+1

배경색 (이미지가 아님)을 설정하고 채워지는보십시오. 이미지가 가로 세로 비율을 유지하고있을 수 있습니다. 국경에 색을 칠하고 경계선이 채워 졌는지 확인하십시오. – Paparazzi

+0

xaml을 빈 페이지에 복사하고 누락 된 닫는 태그 몇 개를 넣은 다음 이미지를 임의의 .png로 변경했습니다. 완벽하게 작동합니다. 위의 xaml에서 빠뜨린 것일 수도 있습니다. – Phil

답변

0

Snowbear은 바로 XAML은 매우 도움이 될 것입니다하지만, 여기에 몇 가지로 시작하는 일이있다 주어진 행이나 열에 포함 된 셀. 예를 들어 열에 "hippopotamus"와 같이 긴 단어가 포함 된 셀이 하나 있지만 열의 다른 모든 셀에 "dog"와 같은 작은 단어가있는 경우 열의 너비가 가장 큰 단어의 너비가됩니다 (하마). "http://msdn.microsoft.com/en-us/library/system.windows.controls.grid.aspx"

테두리에 명시된 높이와 너비가 지정되어 있지 않으면 열에 입력 한 내용 주변에만 존재하게됩니다. 설정 값에 바인딩하는 것도 효과가 있습니다.

<Grid Height="50" Width="50"> 
관련 문제