2009-06-01 17 views
5

Bu yüzden ContentControl olarak kullandığım bir StackPanel var. Bağlandığım verilere dayanarak düğmelerin oluşturulmasını istediğim bir yerim var, ve bu iyi çalışıyor, ancak düğmelerin yatay olarak yerleştirilmesini istiyorum, şu anda olduğu gibi dikey değil.StackPanel'i ContentControl (WPF) olarak kullanma

alt text

Ve işte benim ContentTemplate açıklamasından kodudur: Burada bir ekran görüntüsü var

<StackPanel Name="wpReleaseButtons" Orientation="Horizontal" Grid.Row="2"> 
    <ItemsControl IsTabStop="False" ItemsSource="{Binding Path=BranchCommands}"> 
     <ItemsControl.ItemTemplate> 
      <DataTemplate> 
       <Button Tag="{Binding}" Padding="3"> 
        <TextBlock Text="{Binding Path=DisplayValue}" /> 
       </Button> 
      </DataTemplate> 
     </ItemsControl.ItemTemplate> 
    </ItemsControl> 
</StackPanel> 

emin burada yanlış yapıyorum gibi değil. Herhangi bir bilgi büyük takdir edilecektir. Teşekkürler!

cevap

9

Ben ItemsControl dikey düğmeleri göstererek ne olduğunu gibi görünüyor söyleyebilirim.

<ItemsControl IsTabStop="False" ItemsSource="{Binding Path=BranchCommands}"> 
    <ItemsControl.ItemTemplate> 
     <DataTemplate> 
      <Button Tag="{Binding}" Padding="3"> 
       <TextBlock Text="{Binding Path=DisplayValue}" /> 
      </Button> 
     </DataTemplate> 
    </ItemsControl.ItemTemplate> 
    <ItemsControl.ItemsPanel> 
     <ItemsPanelTemplate> 
      <StackPanel Orientation="Horizontal"/> 
     </ItemsPanelTemplate> 
    </ItemsControl.ItemsPanel> 
</ItemsControl> 

ben biraz yanlış alınmış olabilir: Eğer ItemsControl düğmeleri yatay olmak istiyorsanız, o zaman StackPanel yuvarlak kodunuzda ne var gibi ItemsControlItemsPanelTemplate değil başka bir yol olması gerekir birlikte ...

Düzenleme test etmek herhangi bir veri yok olarak ItemsControl.ItemsPanel bit: Bea referans ek olarak, Dr WPF tarafından bazı iyi şeyler var. Bea referansı için

+0

Bu yaptı! Cevabınız için teşekkürler ve Bea'nın sitesini de işaretledim. Herkese teşekkürler! Bu beni biraz rahatsız etmeye başlamıştı, lol. –

3

I (benim şirketin güvenlik duvarı tarafından engellendiğinden) görüntüyü göremezsiniz, ama burada zaten gitmek ...

Sizin 'Oryantasyon = 'Yatay'' muhtemelen olması gerektiği gibi çalışıyor: sadece içeriyor bir alt öğe, bir ItemsControl. Bunun yerine, ControlTemplate öğesinin Orientation = "Horizontal" ile bir StackPanel içerdiği ItemsControl için bir ControlTemplate yapmayı deneyin.

Bu yardımcı olur umarız!

Düzenleme: kez daha

Bea bir cevap/örnekle yoluyla geliyor!

http://bea.stollnitz.com/blog/?p=10

+0

+1. –