2012-01-31 52 views
0

我正在嘗試在我的應用程序中的主細節演示文稿:當列表框中的項目被選中時,其細節顯示在相鄰的控件中。我應該使用什麼標準的WPF控件?

該控制將具有測量,如高度,寬度,重量等,也會有一些小圖形,如綠色或紅色點或中等大小的圖像的列表。它也會有一些豐富的文字。

哪個標準WPF控件我應該使用含有所有這些元素。我正在考慮使用列表框,但不知道是否有更好的控件可供使用。

我主要考慮的是易於編程的,然後可能的代碼效率。 謝謝。

回答

1

一個列表框表示可以使用appearence一個DataTemplate量身定做的項目清單。在這種情況下,您正在顯示所選項目的詳細信息。我實際上使用嵌套在當前用戶界面中的容器(如嵌套網格),並擁有一組包含所選項目詳細信息的堆疊面板。

<Grid> 
    <StackPanel> 
     <StackPanel Orientation="Vertical"> 
      <TextBlock>Detail1</TextBlock> 
      <TextBox></TextBox> 
     </StackPanel> 
     <StackPanel Orientation="Vertical"> 
      <TextBlock>Detail2</TextBlock> 
      <TextBox></TextBox> 
     </StackPanel> 
    </StackPanel> 
</Grid> 

這只是一個建議,但有一點是使用一個容器,使用容器控件組 - 文本塊,文本框,複選框(布爾細節),等等。這將允許您使用代表所選項目的特定數據字段所需的任何控制類型。

1

你不想除非你有類似項目的集合,並且要被「選擇」一個或多個項目在某些時候使用列表框。這聽起來不像你想要的細節部分。

您確實有一個集合,它顯示在您的主列表中。您應該將主列表中的SelectedItem綁定到viewmodel中的一個屬性。然後,您可以將相同的屬性綁定到UI的詳細信息部分。當主列表中的選擇更改時,您的詳細信息UI將自動更新以反映更改。

<ListBox x:Name="masterList" ItemsSource="{Binding MyItems}" SelectedItem="{Binding MySelectedItem, Mode=TwoWay}"></ListBox> 
<UserControl x:Name="detailsControl" DataContext="{Binding MySelectedItem}"> </UserControl > 
相關問題