WPF ItemControls不显示所有项目

时间:2017-05-23 18:44:26

标签: wpf itemscontrol

我所做的很简单。我在ItemControl中托管UserControl列表。

我用一个简单的TextBox作为UserControl编写了一个测试应用程序,它按预期工作。但是当我在主代码中加入它时,ItemControl不会显示所有文本框。它始终将其限制为3,文本框中的值不会更新。

IDE是否限制了当我有其他控件时我可以在设计器中查看多少个UserControl?当我执行代码时,我确实看到了所有UserControls。我只需要显示6而不是100。我想在我的主代码中看到设计器中的所有UserControl,而不仅仅是测试应用程序。

测试应用程序和我的主应用程序之间的代码是相同的。

这是代码,我附上了我在Designer中看到的图片。

    /// <summary>
   /// View Model Class for the MainWindow.
    /// </summary>
    class AViewModel : INotifyPropertyChanged
     {
        public AViewModel()
        {
            ZList = new ObservableCollection<StringObject>
                   {
                   new StringObject {Value = "1"},
                   new StringObject {Value = "2"},
                   new StringObject {Value = "3"},
                   new StringObject {Value = "4"},
                   new StringObject {Value = "5"},
                   new StringObject {Value = "6"},
                   new StringObject {Value = "7"},

               };
    }



    private ObservableCollection<StringObject> zlist;
    public ObservableCollection<StringObject> ZList
    {
        get { return zlist; }
        set
        {
            zlist = value;
          OnPropertyChanged("ZList");
        }
    }


    public event PropertyChangedEventHandler PropertyChanged;


    private void OnPropertyChanged(string name)
    {
        PropertyChangedEventHandler handler = PropertyChanged;
        if (handler != null)
        {
            handler(this, new PropertyChangedEventArgs(name));
        }
    }

}

  public class StringObject
  {
    public string Value { get; set; }
  }
}

主窗口的XML

    <Window x:Class="IssueWPF.MainWindow"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:local="clr-namespace:IssueWPF"
    mc:Ignorable="d"
    Title="MainWindow" Height="350" Width="525">
<Window.DataContext>
    <local:AViewModel></local:AViewModel>
</Window.DataContext>
<Grid>
    <Viewbox>
        <ItemsControl ItemsSource="{Binding ZList}" Height="220" Margin="0">
            <ItemsControl.ItemTemplate>
                <DataTemplate>
                    <TextBlock Text="{Binding Value}" />
                </DataTemplate>
            </ItemsControl.ItemTemplate>
            <ItemsControl.ItemsPanel>
                <ItemsPanelTemplate>
                    <StackPanel Orientation="Vertical" IsItemsHost="True" />
                </ItemsPanelTemplate>
            </ItemsControl.ItemsPanel>
        </ItemsControl>
    </Viewbox>
</Grid>
</Window>

enter image description here enter image description here

0 个答案:

没有答案