如何动态制作按钮列表并将其显示在ItemsControl中

时间:2018-11-07 20:30:10

标签: wpf

我有一些需要在按钮中加载的产品列表,但是我无法显示按钮。

代码xaml:

 <ItemsControl ItemsSource="{Binding Path=Productos}" Grid.Row="4"  Grid.Column="1" >
            <ItemsControl.Resources>
                <DataTemplate DataType="{x:Type local:SeleccionarOpcionesCotizacionesView2}">
                    <Button Command="{Binding CmdCuenta}" Style="{StaticResource TransparentStyle}"  Width="775" Height="157"/>
                </DataTemplate>
            </ItemsControl.Resources>

        </ItemsControl>

列表显示方式的图片(应该显示按钮):

enter image description here

1 个答案:

答案 0 :(得分:1)

检查以下内容:

•确保名为“ Productos”的媒体资源是公开的。

•确保您使用的集合类型为“ ObservableCollection”

•如果使用的是MVVM模式,并且属性位于模型类中,请确保将模型设置为视图的上下文。

 MyViewModel model = new MyViewModel();
 this.DataContext = model;

•确保ItemsControl实际上是可见的。设置高度和宽度以固定值以进行测试。

•如果您不使用MVVM,并且名为“ Productos”的属性位于视图的部分类中,请确保在部分类上设置绑定。为此,请为控件/视图命名,并直接在视图控件元素上设置绑定。

<UserControl x:Name="Control_View" />


<ItemsControl ItemsSource="{Binding Path=OpenUserProfileEditor, ElementName=Control_View}" />

Alos,请尝试使您的ItemsControl像下面的我的一样。 (示例)

  <ItemsControl ItemsSource="{Binding Path=Productos}" Grid.Row="4"  Grid.Column="1" >
            <ItemsControl.ItemTemplate>
               <DataTemplate DataType="{x:Type local:SeleccionarOpcionesCotizacionesView2}">
                   <Button Command="{Binding CmdCuenta}" Style="{StaticResource TransparentStyle}"  Width="775" Height="157"/>
               </DataTemplate>
            </ItemsControl.ItemTemplate>
   </ItemsControl>