2011-06-10 124 views
-1

我在WPF中有一個窗口,其中包含一個GridGrid最初有一行,在該行中有一個TextBox。當用戶點擊Button時,我必須在另一個網格上添加一行TextBox。雖然這似乎是可行的,但當行數超過網格高度時,我需要網格可滾動。 (這種類似於你給電子郵件添加附件的方式,你可以添加一個,然後再說再添加一個..然後列表繼續)。我是以正確的方式開展這項工作還是有更好的方法來做到這一點?WPF動態添加文本框的行到網格佈局

+0

這似乎是一個很好的方式給我。你只需要使用ScrollViewer來環繞Grid,並且不應該有任何問題。我建議你嘗試一下,看看它的表現如何。 – Vale 2011-06-10 08:56:23

回答

1

由於您沒有提供任何代碼,因此無法回答您是否正確地進行此操作。

下面是我該怎麼做。我的看法型號:

public class AttachmentInfo : ViewModel 
{ 
    public string Path { get/set omitted } 
} 

public class EmailInfo : ViewModel 
{ 
    public ICollection<AttachmentInfo> Attachments { get omitted } 

    public ICommand AddAttachmentCommand { get omitted } 

    // logic for adding attachment simply adds another item to Attachments collection 
} 

在我看來,這樣的事情:

<ScrollViewer> 
    <ItemsControl ItemsSource="{Binding Attachments}"> 
     <ItemsControl.ItemTemplate> 
      <DataTemplate> 
       <TextBox Text="{Binding Path}"/> 
      </DataTemplate> 
     </ItemsControl.ItemTemplate> 
    </ItemsControl> 
</ScrollViewer> 
<Button Command="{Binding AddAttachmentCommand}">Add</Button>