Wpf 将ListBox项呈现为简单矩形(DataTemplate不工作)(忽略:在别处引起的问题)
我有一个ObservableCollection中的项目集合,我想将每个项目显示为一个简单的矩形 我已经创建了一个列表框并将我的集合绑定到它,它会按预期显示字符串列表(我的项目的ToString()。Wpf 将ListBox项呈现为简单矩形(DataTemplate不工作)(忽略:在别处引起的问题),wpf,listbox,wpf-controls,binding,datatemplate,Wpf,Listbox,Wpf Controls,Binding,Datatemplate,我有一个ObservableCollection中的项目集合,我想将每个项目显示为一个简单的矩形 我已经创建了一个列表框并将我的集合绑定到它,它会按预期显示字符串列表(我的项目的ToString()。 但是,当我更改数据模板和方向时,它不再显示任何内容 设置ItemsPanel或ItemTemplate都会破坏列表框,有人能看到我的代码中的错误吗 <ListBox Height="100" HorizontalAlignment="Left" Margin="99,151,0,0"
但是,当我更改数据模板和方向时,它不再显示任何内容 设置ItemsPanel或ItemTemplate都会破坏列表框,有人能看到我的代码中的错误吗
<ListBox Height="100" HorizontalAlignment="Left" Margin="99,151,0,0" Name="listBox1" VerticalAlignment="Top" Width="120" ItemsSource="{Binding Path=indicators, UpdateSourceTrigger=PropertyChanged}">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemTemplate>
<DataTemplate>
<Grid>
<Rectangle HorizontalAlignment="Left" Name="rectangle1" VerticalAlignment="Stretch" RadiusX="2" RadiusY="2"
Fill="#FF009600" Width="10" />
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
我认为您的问题在于元素的表示。由于没有ItemTemplate,您可以看到列表框中的所有项目,我确信它们仍然存在,只有您无法看到它们,很可能是因为矩形的一个属性设置不正确。例如,您是否也尝试过给它们一个高度?我认为您的问题在于元素的表示。由于没有ItemTemplate,您可以看到列表框中的所有项目,我确信它们仍然存在,只有您无法看到它们,很可能是因为矩形的一个属性设置不正确。例如,您是否也尝试过给它们一个高度?很抱歉,我发现问题出在我的代码中,剩余的测试代码阻止了列表框的更新。
它现在正在显示矩形,谢谢 很抱歉,我发现问题出在我遗留的代码中,测试代码阻止了列表框的更新。
它现在正在显示矩形,谢谢 嗨,天之子,谢谢你的回复。我已经尝试过显式地指定矩形的大小,但是没有任何区别。(此外,当我试图通过设置ItemsPanel来更改方向时,项目就会显示出来,但如果我删除此部分,则项目仍然难以显示。这正常吗?(ListBox无法在水平列表中显示文本字符串?)您好,Tenshiko,谢谢您的回复。我已经尝试明确指定矩形大小,但没有任何区别。(此外,当我试图通过设置ItemsPanel来更改方向时,项目就会显示出来,但如果我删除此部分,则仍然无法显示。这正常吗?)?(列表框无法在水平列表中显示文本字符串?)