2014-01-07 2 views
0

MVnet 패턴을 사용하고 있습니다. '제목 추가'을 클릭하고 텍스트 상자가 표시 될 때 '질문 추가'를 클릭하면 동일하게 나타납니다.. 틀린 것은 정확히 서로 아래에 나타나는 것입니다. 그들이 을 클릭하면 나는 내가 여백 표시 할을 '질문 추가'을 클릭하면 텍스트 상자가 '20'다음와의 왼쪽 여백에 표시하려면 '제목 추가'가 '40'. 또한 모든 텍스트 상자 사이에 '20'의 공백이 있어야하므로 텍스트 상자 바로 아래에 없습니다.동적으로 생성 된 텍스트 상자 스타일 지정

XAML 코드는 :

<Grid> 

<Button Content="Add Question" Command="{Binding AddQuestionCommand}" Margin="615,19,179,724" /> 
    <Button Content="Add Title" Command="{Binding AddTitleCommand}" Margin="474,19,320,724" /> 

    <StackPanel> 

     <ItemsControl ItemsSource="{Binding Title}"> 
      <ItemsControl.ItemTemplate> 
       <DataTemplate> 
        <TextBox Text="{Binding .}" Width="200" HorizontalAlignment="Left" /> 
       </DataTemplate> 
      </ItemsControl.ItemTemplate> 
     </ItemsControl> 

     <ItemsControl ItemsSource="{Binding Question}"> 
      <ItemsControl.ItemTemplate> 
       <DataTemplate> 
        <TextBox Text="{Binding .}" Width="200" HorizontalAlignment="Left"/> 
       </DataTemplate> 
      </ItemsControl.ItemTemplate> 
     </ItemsControl> 

    </StackPanel> 


</Grid> 

나는 Padding 속성을 추가하려고 노력하지만 높이 텍스트 상자 큰하게, 또한 나는 Margin하지만 모든 텍스트 상자가 동적으로 생성되는 노력했다.

답변

1

는이

귀하의 요구 사항

<Grid> 
    <Button Content="Add Question" Command="{Binding AddQuestionCommand}" Margin="615,19,179,724" /> 
    <Button Content="Add Title" Command="{Binding AddTitleCommand}" Margin="474,19,320,724" /> 

    <StackPanel> 

     <ItemsControl ItemsSource="{Binding Title}"> 
      <ItemsControl.ItemContainerStyle> 
       <Style> 
        <Setter Property="FrameworkElement.Margin" Value="20,20,0,0"/> 
       </Style> 
      </ItemsControl.ItemContainerStyle> 
      <ItemsControl.ItemTemplate> 
       <DataTemplate> 
        <TextBox Text="{Binding .}" Width="200" HorizontalAlignment="Left" /> 
       </DataTemplate> 
      </ItemsControl.ItemTemplate> 
     </ItemsControl> 

     <ItemsControl ItemsSource="{Binding Question}"> 
      <ItemsControl.ItemContainerStyle> 
       <Style> 
        <Setter Property="FrameworkElement.Margin" Value="40,20,0,0"/> 
       </Style> 
      </ItemsControl.ItemContainerStyle> 
      <ItemsControl.ItemTemplate> 
       <DataTemplate> 
        <TextBox Text="{Binding .}" Width="200" HorizontalAlignment="Left"/> 
       </DataTemplate> 
      </ItemsControl.ItemTemplate> 
     </ItemsControl> 

    </StackPanel> 


</Grid> 
+0

그것은 내 ItemsSource가 비어있을 필요가 있다고 말한다에 따라 여백을 조정하려고? – user3157821

+0

코드를 다시 확인하십시오 .i 편집했습니다 .i 실수로 추가 itemscontrol을 추가했습니다. –

+0

답변 주셔서 감사 드리며 완벽하게 작동했습니다. – user3157821

1

모양 구조를 정의하는 좋은 방법은 Grid 컨트롤을 사용하여 행과 열을 지정하는 것입니다. 이런 식으로 뭔가를 시도 :

<Grid> 
     <Grid.RowDefinitions> 
      <RowDefinition/> 
     </Grid.RowDefinitions> 
     <Grid.ColumnDefinitions> 
      <ColumnDefinition/> 
      <ColumnDefinition/> 
     </Grid.ColumnDefinitions> 
     <ItemsControl Grid.Column="0" ItemsSource="{Binding Title}"> 
       <ItemsControl.ItemTemplate> 
        <DataTemplate> 
         <TextBox Text="{Binding .}" Width="200" HorizontalAlignment="Left" /> 
        </DataTemplate> 
       </ItemsControl.ItemTemplate> 
      </ItemsControl> 

    <ItemsControl Grid.Column="1" ItemsSource="{Binding Question}"> 
       <ItemsControl.ItemTemplate> 
        <DataTemplate> 
         <TextBox Text="{Binding .}" Width="200" HorizontalAlignment="Left"/> 
        </DataTemplate> 
       </ItemsControl.ItemTemplate> 
      </ItemsControl> 
관련 문제