2014-05-16 2 views
0

C# Silverlight에서 작업 중입니다. C#를 사용하여 생성 된 특정 열을 색칠 (녹색)해야합니다. 지금은 어떻게 다음이 그리드의 두 번째 전체 행 (나뿐만 아니라이 행 3 열에서 의미) 색상을해야하는 경우Silverlight를 사용하여 C#에서 특정 그리드 행의 색상을 지정하는 방법

Grid myGrid = new Grid(); 
      myGrid.Width = 350; 
      myGrid.Height = 280; 
      myGrid.HorizontalAlignment = HorizontalAlignment.Left; 
      myGrid.VerticalAlignment = VerticalAlignment.Top; 
      myGrid.ShowGridLines = false; 
      ColumnDefinition colDef1 = new ColumnDefinition(); 
      ColumnDefinition colDef2 = new ColumnDefinition(); 
      ColumnDefinition colDef3 = new ColumnDefinition(); 
      myGrid.ColumnDefinitions.Add(colDef1); 
      myGrid.ColumnDefinitions.Add(colDef2); 
      myGrid.ColumnDefinitions.Add(colDef3); 
      RowDefinition rowDef1 = new RowDefinition(); 
      RowDefinition rowDef2 = new RowDefinition(); 
      RowDefinition rowDef3 = new RowDefinition(); 
      RowDefinition rowDef4 = new RowDefinition(); 
      RowDefinition rowDef5 = new RowDefinition(); 
      RowDefinition rowDef6 = new RowDefinition(); 

      myGrid.RowDefinitions.Add(rowDef1); 
      myGrid.RowDefinitions.Add(rowDef2); 
      myGrid.RowDefinitions.Add(rowDef3); 
      myGrid.RowDefinitions.Add(rowDef4); 
      myGrid.RowDefinitions.Add(rowDef5); 
      myGrid.RowDefinitions.Add(rowDef6); 

:

이 같은 6 행과 3 열 그리드가 난 이걸 할거야 ?

+0

내 지식으로는 '그리드'패널은 특정 행/열을 채색하는 것을 지원하지 않습니다. 다른 접근법을 시도해야합니다. – McGarnagle

+2

사각형이나 경계선을 채우기/배경이 같은 행 수준에서 적절한 columnspan으로 가짜로 만들 수 있습니다 ....하지만 왜 xaml 대신 코드에 그리드를 그려야할까요? 내가 물어 보곤. –

+0

@McGarnagle 당신은 나에게 무엇을 제안합니까? 나는 하나의 콤보 상자 하나의 텍스트 상자와 한 행에 ont textblock을 가지고 각 행의 색상을 변경하고 싶다는 뜻입니다. – Sss

답변

1
var greenBackgroundBorder = new Border(){ 
    Background=new SolidColorBrush(Colors.Green)}; 
myGrid.Children.Add(greenBackgroundBorder); 

// stay always behind other elements 
Canvas.SetZOder(greenBackgroundBorder, -100); 

//entire second row 
Grid.SetColumnSpan(greenBackgroundBorder,3); 
Grid.SetRow(greenBackgroundBorder, 1); 
+0

하지만 couldnt "Canvas.SetZOder (greenBackgroundBorder, -100);"이해 ? 및 "SetZOder"오류가 발생합니다. 'System.Windows.Controls.Canvas'에 'SetZOder'에 대한 정의가 없습니다. – Sss

+0

@ user234839 : 죄송합니다. 오타가 포함되어있는 것으로 나타났습니다. – Martin

+0

그리고이 테두리에 텍스트를 추가 할 수 있습니까? – Sss

관련 문제