C# WPF groupbox中items控件中的滚动查看器不显示所有项目
我有一个带有groupbox的usercontrol,其中有一个itemscontrol。 在itemscontrol中,我放置了一个scrollviewer。 当我运行应用程序时,它不会显示所有项目。 有时我看到一两个项目,有时什么都没有。 我确信我的名单上至少有10个项目。 我做错了什么 我已将scrollviewer放入itemscontrol,如下所述: 当我在最后一行放置一个断点时,我可以看到项目列表中至少有10个项目,因此该部分工作正常C# WPF groupbox中items控件中的滚动查看器不显示所有项目,c#,wpf,xaml,C#,Wpf,Xaml,我有一个带有groupbox的usercontrol,其中有一个itemscontrol。 在itemscontrol中,我放置了一个scrollviewer。 当我运行应用程序时,它不会显示所有项目。 有时我看到一两个项目,有时什么都没有。 我确信我的名单上至少有10个项目。 我做错了什么 我已将scrollviewer放入itemscontrol,如下所述: 当我在最后一行放置一个断点时,我可以看到项目列表中至少有10个项目,因此该部分工作正常 我希望看到所有的项目,而不仅仅是1或2(甚至
我希望看到所有的项目,而不仅仅是1或2(甚至没有)在输出窗口中是否有绑定失败的情况?物品真的有约束力吗?它包含什么?它是什么?我们需要更多信息。奇怪的是,你没有任何明显的理由就从答案中复制了
x:Name=“ScrollViewer”Padding=“{TemplateBinding Padding}”
。不管怎样,你有没有在ItemTemplate中使用一些基本控件(如TextBlock)而不是HistoryListItemControl)来尝试你的XAML?@Andy没有,我没有关于项目绑定的警告或错误。@Clemens我已经更新了我的原始帖子,就像你看到的那样,我制作了一个设计视图模型,在designer中它的工作方式应该是这样的。我有一个类似的页面,它在那里工作得很好,所以我不知道为什么在这种情况下不行……您的输出窗口中有任何绑定失败的情况吗?物品真的有约束力吗?它包含什么?它是什么?我们需要更多信息。奇怪的是,你没有任何明显的理由就从答案中复制了x:Name=“ScrollViewer”Padding=“{TemplateBinding Padding}”
。不管怎样,你有没有在ItemTemplate中使用一些基本控件(如TextBlock)而不是HistoryListItemControl)来尝试你的XAML?@Andy没有,我没有关于项目绑定的警告或错误。@Clemens我已经更新了我的原始帖子,就像你看到的那样,我制作了一个设计视图模型,在designer中它的工作方式应该是这样的。我有一个类似的页面,在那里它工作得很好,所以我不知道为什么不在这种情况下。。。
<UserControl x:Class="Hermes.UI.HistoryListControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml /presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:Hermes.UI"
mc:Ignorable="d"
d:DesignHeight="500" d:DesignWidth="800" d:DataContext="{x:Static local:HistoryListDesignModel.Instance}">
<GroupBox Margin="5 0"
Padding="4"
BorderBrush="{StaticResource clr_dark_brush}"
BorderThickness="0.5">
<GroupBox.Header>
<Label Content="Geschiedenis"
FontFamily="{StaticResource NunitoBold}"
FontSize="{StaticResource FontSizeRegular}"
Foreground="{StaticResource clr_dark_brush}"/>
</GroupBox.Header>
<ItemsControl ItemsSource="{Binding Items}">
<ItemsControl.Template>
<ControlTemplate>
<ScrollViewer x:Name="ScrollViewer" Padding="{TemplateBinding Padding}">
<ItemsPresenter />
</ScrollViewer>
</ControlTemplate>
</ItemsControl.Template>
<ItemsControl.ItemTemplate>
<DataTemplate>
<local:HistoryListItemControl />
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</GroupBox>
</UserControl>
<UserControl x:Class="Hermes.UI.HistoryListItemControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:Hermes.UI"
mc:Ignorable="d" d:DesignWidth="800">
<UserControl.Resources>
<Style x:Key="contentstyle" TargetType="{x:Type ContentControl}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ContentControl}">
<Border x:Name="background"
Background="White"
Margin="0 5">
<Grid x:Name="container" Background="Transparent">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<TextBlock Text="{Binding date_cal, StringFormat='dd MMMM yyyy'}"
FontSize="{StaticResource FontSizeLarge}"
FontFamily="{StaticResource NunitoThin}"
Foreground="{StaticResource clr_info_brush}"
VerticalAlignment="Center"
HorizontalAlignment="Center"/>
<Grid Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<TextBlock FontFamily="{StaticResource FontAwesome}"
VerticalAlignment="Center"
Margin="5"
Text="" />
<TextBlock Text="{Binding Device_name}"
VerticalAlignment="Center"
Grid.Column="1"/>
<TextBlock FontFamily="{StaticResource FontAwesome}"
VerticalAlignment="Center"
Margin="5"
Text=""
Grid.Column="2"/>
<TextBlock Text="{Binding Unit_name}"
VerticalAlignment="Center"
Grid.Column="3"/>
</Grid>
<Grid Grid.Row="2">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<TextBlock FontFamily="{StaticResource FontAwesome}"
VerticalAlignment="Center"
Margin="5"
Text="" />
<TextBlock Text="{Binding Sensor}"
VerticalAlignment="Center"
Grid.Column="1"/>
<TextBlock FontFamily="{StaticResource FontAwesome}"
VerticalAlignment="Center"
Margin="5"
Text=""
Grid.Column="2"/>
<TextBlock Text="{Binding Battery}"
VerticalAlignment="Center"
Grid.Column="3"/>
</Grid>
<Grid Grid.Row="3">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<TextBlock FontFamily="{StaticResource FontAwesome}"
VerticalAlignment="Center"
Margin="5"
Text="" />
<TextBlock Text="{Binding Comments}"
VerticalAlignment="Center"
Grid.Column="1"/>
</Grid>
</Grid>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</UserControl.Resources>
<ContentControl d:DataContext="{x:Static local:HistoryListItemDesignModel.Instance}"
Style="{StaticResource contentstyle}" />
</UserControl>
private void GetHistory()
{
HistoryBLL historyBLL = new HistoryBLL();
HistoryDataTable myHistory = historyBLL.GetHistoryByDeviceId(Device.Id);
foreach (HistoryRow row in myHistory)
{
UnitsBLL unitsBLL = new UnitsBLL();
Items.Add(new HistoryListItemViewModel
{
Date_cal = (DateTime)row.date_cal,
Device_name = row.tagnaam,
Unit_name = unitsBLL.GetUnitById(row.unit_id).unit,
Sensor = row.sensor_id.ToString(),
Battery = (row.battery) ? "Ja" : "",
Comments = row.comments
});
unitsBLL = null;
}
}