2

我正在尝试将用户控件添加到ListBox

我的用户控件包含一组基本元素,如文本框和下拉菜单,其方式是创建一行元素。

我的主窗口中 ListBox 的代码如下 -

<GroupBox FontWeight="SemiBold" Foreground="#FF0CAEF9" Name="gbAddProducts" Style="{x:Null}" Header="ADD PRODUCTS" HorizontalAlignment="Left" Margin="0,256,0,0" VerticalAlignment="Top" Width="990" Height="207">
        <ListBox Name="lstboxAddProduct" ItemsSource="{Binding Path=AddNewProductRowViewModelList, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, ValidatesOnDataErrors=True}" BorderThickness="0" Margin="0,10,-2,23">
                <ListBox.ItemTemplate>
                    <DataTemplate>
                        <StackPanel Orientation="Vertical">
                            <ContentControl Content="{Binding AddNewProductRowViewModel}" />
                        </StackPanel>
                    </DataTemplate>
                </ListBox.ItemTemplate>
                <Validation.ErrorTemplate>
                    <ControlTemplate>
                        <StackPanel>
                            <AdornedElementPlaceholder x:Name="aepForError"/>
                            <ItemsControl ItemsSource="{Binding}">
                                <ItemsControl.ItemTemplate>
                                    <DataTemplate>
                                        <TextBlock Text="{Binding ErrorContent}"  Foreground="White" Background="#DC000C" />
                                    </DataTemplate>
                                </ItemsControl.ItemTemplate>
                            </ItemsControl>
                        </StackPanel>
                    </ControlTemplate>
                </Validation.ErrorTemplate>
            </ListBox>

        </GroupBox>

这里AddNewProductRowViewModelList是我的用户控件列表,其中包含 5 个控件。我看到的问题是,当我运行代码时,屏幕有 5 行,即当该部分突出显示时,我可以单击该区域以找出有 5 行。但它们是不可见的。

会不会是一些“提出来”之类的问题。

请指教。

提前致谢。

4

1 回答 1

4

我会这样做:

<ListBox.ItemTemplate>
   <DataTemplate>
      <StackPanel Orientation="Vertical">
         <ContentControl>
            <local:AddNewProductRowView Datacontext="{Binding AddNewProductRowViewModel}"/>
          </ContentControl>
         </StackPanel>
       </DataTemplate>
     </ListBox.ItemTemplate>
于 2013-10-02T08:59:09.260 回答