2008-11-18 17 views
1

目前我有一個ListView(使用Details View)。我想實現這樣的行爲,即當用戶選擇單個項目(日誌條目)時,日誌條目將擴展(從一行到多行)以提供有關發生錯誤的更多詳細信息。c#如何擴展ListView中的項目以佔用多行?

我的問題是這樣的:這可能嗎?如果是這樣,是否有一個很好的資源可以幫助我?

編輯:

如果我HAVE使用WPF,那麼我猜病態使用ElementHost的與控制。但是,我絕對不知道如何設計/編碼/使用WPF組件。有什麼建議麼?

+0

你會喜歡WPF ;-) – lesscode 2008-11-18 11:08:11

回答

4

編輯:對不起,這是WPF

我用來實現同樣的事情訣竅是創建觸發器,以顯示其默認爲一塌次柵。

嘗試了這一點:

<ListBox ItemsSource="{Binding}"> 
     <ListBox.ItemTemplate> 
      <DataTemplate> 
       <Grid> 
        <Grid.RowDefinitions> 
         <RowDefinition></RowDefinition> 
         <RowDefinition></RowDefinition> 
        </Grid.RowDefinitions> 

        <Grid Grid.Row="0" Height="20" > 
         <TextBlock Text="Not Selected"></TextBlock> 
        </Grid> 
        <Grid x:Name="selectedOnlyGrid" Grid.Row="1" Visibility="Collapsed"> 
         <TextBlock Text="Selected"></TextBlock> 
        </Grid> 

       </Grid> 

       <DataTemplate.Triggers> 
        <DataTrigger Binding="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type ListBoxItem}, AncestorLevel=1}, Path=IsSelected}" Value="True"> 
         <Setter Property="Visibility" Value="Visible" TargetName="selectedOnlyGrid" /> 
        </DataTrigger> 
       </DataTemplate.Triggers> 
      </DataTemplate> 
     </ListBox.ItemTemplate> 
    </ListBox> 
+0

我很抱歉,但我的理解在這一點上,XAML和WPF都是完全不存在的。你能解釋一下這段代碼的作用嗎?謝謝。 – 2008-11-19 08:11:09

0

不是你的問題的直接答案,但我認爲 你最好在這種情況下與網格。

+0

不幸的是,我需要的列headdings使用時是ListView控件中存在的詳細信息視圖 – 2008-11-18 10:37:21

1

一種方式與一個ListView做這將是動態添加當您選擇「父」時,您需要添加新的ListViewItem。同樣,當選擇更改爲其他項目時,您需要將其刪除。

您也可能想要覆蓋默認的向上/向下行爲以跳過子項目。

相關問題