2011-03-14 5 views
0

스택 패널에 xml 구문 분석 및 확인란을 만들었습니다. 스택 패널의 자식 요소 사이에 간격을 어떻게 추가합니까? 그것들은 적절한 간격없이 서로 쌓여있는 것처럼 보입니다. 나는 뒤의 코드 (.cs 파일)에서 그걸하고 싶습니다.스택 요소 코드 뒤에 간격 추가

감사합니다.

편집 1 : 미안 내 코드를 추가하는 것을 잊었다 :

내 XAML :

<TabItem Header ="XML PARSING" Name="Tabitem5" Visibility="Visible"> 
     <StackPanel Name="stack1" > 
      <Button Height="23" Name="XmlappendButton" Width="75" HorizontalAlignment="Right" Click="XmlappendButton_Click">Update</Button> 
     </StackPanel> 

</TabItem> 
뒤에

내 코드 :

private void xmlparsing() 
{ 
    XDocument xmlDoc = XDocument.Load(@"C:\Build.xml"); 
    var abc = from target in xmlDoc.Descendants("target") 
       select (string)target.Attribute("if"); 

    foreach(string target in abc) 
    { 
     if (target != null && !Dictionarycheck.ContainsKey(target)) 
     { 
      System.Windows.Controls.CheckBox chk = new System.Windows.Controls.CheckBox(); 
      chk.Name = target+"CheckBox"; 
      chk.Content = target; 
      chk.Tag = target; 
      stack1.Children.Add(chk); 
     } 
    }  
} 
+0

XAML 샘플 뒤에 XAML

<ListBox x:Name="lstBox"> <ListBox.ItemTemplate> <DataTemplate> <CheckBox Content="{Binding}" Tag="{Binding}"/> </DataTemplate> </ListBox.ItemTemplate> </ListBox> 

코드 바랍니다. –

답변

1

당신이

를 작성하는 자식 요소에 여백을 지정
_chk.Margin = new Thickness(0,100,0,0); 

그러나 XAML에서는 이상적으로 좋을 것입니다. XML 데이터를 컬렉션으로 ListBox에 바인딩하고 적절한 DataTemplate에 CheckBox를 제공하십시오. 이 작업을 수행하는 적절한 WPF 방법은 다음과 같습니다.

XDocument xmlDoc = XDocument.Load(@"C:\Build.xml");  
lstBox.ItemsSource = from target in xmlDoc.Descendants("target") select (string)target.Attribute("if");