Wpf 拉伸水平列表框
我想拉伸一个类似于以下内容的列表框:Wpf 拉伸水平列表框,wpf,xaml,listbox,stretch,Wpf,Xaml,Listbox,Stretch,我想拉伸一个类似于以下内容的列表框: <Grid Background="#FFC0BBBB"> <Grid.RowDefinitions> <RowDefinition Height="50" /> <RowDefinition Height="*" /> </Grid.RowDefinitions> <Border Horizont
<Grid Background="#FFC0BBBB">
<Grid.RowDefinitions>
<RowDefinition Height="50" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Border HorizontalAlignment="Stretch" Grid.Row="0">
<ListBox Name="listBox" >
<ListBoxItem >
<StackPanel>
<TextBlock Text="Toto"></TextBlock>
<!--<Image Source ="" Visibility="Collapsed" />-->
</StackPanel>
</ListBoxItem>
<ListBoxItem >listbox item 2</ListBoxItem>
<ListBoxItem >
<Grid>
<TextBlock Text="Tata"></TextBlock>
<Image Source ="" />
</Grid>
</ListBoxItem>
<ListBoxItem >
<Grid>
<TextBlock Background="Aqua" Text=""></TextBlock>
<Image Source ="https://support.twitter.com/images/twitter-bird.png?1339467554" />
</Grid>
</ListBoxItem>
<ListBoxItem >
<Grid>
<TextBlock Text="Vava"></TextBlock>
<Image Source ="" />
</Grid>
</ListBoxItem>
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid Columns="5" Background="Pink" HorizontalAlignment="Stretch" />
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
</ListBox>
</Border>
</Grid>
如果你只把第二个项目的内容放在上面,效果会很好,但是我真正的列表框是绑定的,对于一些项目,我需要为其他项目放一个图片,一个文本块,我从来都不需要图片+文本块。
我想我将不得不使用一个转换器,但我不知道把它放在哪里,他应该返回什么
有什么想法吗?
谢谢如果您要绑定到数据,然后使用数据的属性来确定ListBoxItem中需要什么类型的控件,那么您需要使用DataTemplateSelector