2010-09-19 14 views
63

सेट करने के लिए मेरे पास स्टैकपैन के अंदर दो ग्रिड हैं। प्रथम ग्रिड को ग्रिडएक्स के रूप में नामित किया गया है। प्रारंभ में ग्रिड के अंदर टेक्स्टबॉक्स (RowDefs/ColumnDefs) की एक 2 डी सरणी है। XAML में पाठ बॉक्स परिभाषाप्रोग्राम ग्रिड पंक्ति और कॉलम पोजीशन को प्रोग्रामेटिक रूप से

<TextBox x:Name="A1" Grid.Row="4" Grid.Column="5" TextAlignment="Center" /> 

मैं GridX के हिस्से के रूप में एक ही स्थिति में programamtically एक TextBlock जोड़ना चाहते है। इस जोड़ने के लिए कैसे

प्रभाव इस

<TextBlock Grid.Row="4" Grid.Column="5" 
    HorizontalAlignment="Left" VerticalAlignment="Top" Text="10" FontSize="8"/> 

की तरह होना चाहिए। मैं इस की कोशिश की है:

TextBlock tblock = new TextBlock(); 
GridX.SetColumn(tblock, cIndex); 
GridX.SetRow(tblock, rIndex); 

लेकिन असफल रहा।

फिर मैं इस कोशिश की:

int rIndex = Grid.GetRow(txtBox); 
int cIndex = Grid.GetColumn(txtBox);        

          TextBlock tblock = new TextBlock(); 
          tblock.VerticalAlignment = VerticalAlignment.Top; 
          tblock.HorizontalAlignment = HorizontalAlignment.Left; 
          tblock.FontSize = 8; 
          tblock.Text = rc[i, j - 1]; 

          Grid.SetColumn(tblock, cIndex); 
          Grid.SetRow(tblock, rIndex); 


          txtBox.MaxLength = 1;  

अब समस्या यह है कि TextBlock visible.TextBox यह खाल नहीं है। आप

+0

कोड अपडेट हो गया.अब समस्या टेक्स्टब्लॉक की दृश्यता – Vinod

उत्तर

122

मदद कर सकते हैं संलग्न प्रॉपर्टी के लिए आप या तो वस्तु है जिसके लिए आप मान देना चाहते हैं पर setValue कॉल कर सकते हैं: (

tblock.SetValue(Grid.RowProperty, 4); 

या स्थिर सेट विधि कॉल नहीं एक उदाहरण विधि के रूप में की तरह आप की कोशिश की) मालिक प्रकार, इस मामले में पर संपत्ति SetRow के लिए:

Grid.SetRow(tblock, 4); 
+0

SetRow ने काम किया जबकि SetValue ने नहीं किया: यह पंक्ति को छोड़ रहा था (मेरे मामले में शून्य) –

17

यहाँ एक उदाहरण है जो मदद कर सकता है है किसी को:

Grid test = new Grid(); 
test.ColumnDefinitions.Add(new ColumnDefinition()); 
test.ColumnDefinitions.Add(new ColumnDefinition()); 
test.RowDefinitions.Add(new RowDefinition()); 
test.RowDefinitions.Add(new RowDefinition()); 
test.RowDefinitions.Add(new RowDefinition()); 

Label t1 = new Label(); 
t1.Content = "Test1"; 
Label t2 = new Label(); 
t2.Content = "Test2"; 
Label t3 = new Label(); 
t3.Content = "Test3"; 
Label t4 = new Label(); 
t4.Content = "Test4"; 
Label t5 = new Label(); 
t5.Content = "Test5"; 
Label t6 = new Label(); 
t6.Content = "Test6"; 

Grid.SetColumn(t1, 0); 
Grid.SetRow(t1, 0); 
test.Children.Add(t1); 

Grid.SetColumn(t2, 1); 
Grid.SetRow(t2, 0); 
test.Children.Add(t2); 

Grid.SetColumn(t3, 0); 
Grid.SetRow(t3, 1); 
test.Children.Add(t3); 

Grid.SetColumn(t4, 1); 
Grid.SetRow(t4, 1); 
test.Children.Add(t4); 

Grid.SetColumn(t5, 0); 
Grid.SetRow(t5, 2); 
test.Children.Add(t5); 

Grid.SetColumn(t6, 1); 
Grid.SetRow(t6, 2); 
test.Children.Add(t6); 
संबंधित मुद्दे