Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wpf 将ListBox项呈现为简单矩形(DataTemplate不工作)(忽略:在别处引起的问题)_Wpf_Listbox_Wpf Controls_Binding_Datatemplate - Fatal编程技术网

Wpf 将ListBox项呈现为简单矩形(DataTemplate不工作)(忽略:在别处引起的问题)

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"

我有一个ObservableCollection中的项目集合,我想将每个项目显示为一个简单的矩形

我已经创建了一个列表框并将我的集合绑定到它,它会按预期显示字符串列表(我的项目的ToString()。
但是,当我更改数据模板和方向时,它不再显示任何内容

设置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来更改方向时,项目就会显示出来,但如果我删除此部分,则仍然无法显示。这正常吗?)?(列表框无法在水平列表中显示文本字符串?)