神秘的自动滚动WPF列表框
有一个非常严重的问题。我的机器是Windows7 64位。我的列表框在所有64位计算机上正常滚动。但是,在32位系统上,列表框不能正常滚动。当用户单击向下箭头向下导航列表框列表时,列表框会向下移动,但随后会跳回到顶部。不管是通过箭头、鼠标滚轮还是在滚动条区域中单击来完成的。以前有没有人遇到过这个werid问题,并找到了解决方法?我试过用cpu x86和所有cpu发布,但无论哪种方式都是相同的问题 另一个注意事项:我在64it和32位操作系统之间遇到的另一个问题是将datagrid绑定到datatable。在我的系统上,如果datatable中有零行,它仍然绑定没有问题,但是在32位系统上,我们在尝试绑定到行计数为零的datatable时遇到绑定错误。只有在某些人看到两者之间存在某种werid相关性时才提及这一点 列表框XAML神秘的自动滚动WPF列表框,wpf,xaml,listbox,scroll,interaction,Wpf,Xaml,Listbox,Scroll,Interaction,有一个非常严重的问题。我的机器是Windows7 64位。我的列表框在所有64位计算机上正常滚动。但是,在32位系统上,列表框不能正常滚动。当用户单击向下箭头向下导航列表框列表时,列表框会向下移动,但随后会跳回到顶部。不管是通过箭头、鼠标滚轮还是在滚动条区域中单击来完成的。以前有没有人遇到过这个werid问题,并找到了解决方法?我试过用cpu x86和所有cpu发布,但无论哪种方式都是相同的问题 另一个注意事项:我在64it和32位操作系统之间遇到的另一个问题是将datagrid绑定到datat
<!-- System Listbox -->
<Grid Grid.Row="2" Grid.Column="0" VerticalAlignment="Stretch">
<DockPanel Margin="10,0,0,10" VerticalAlignment="Stretch">
<ListBox x:Name="lbSystems" VerticalAlignment="Stretch" DockPanel.Dock="Left" Width="Auto" IsTextSearchEnabled="True" TextSearch.TextPath="{Binding Name}"
Background="Transparent" Foreground="{DynamicResource DynamicFrmFG}" FontFamily="Consolas"
ItemsSource="{Binding Path=SystemsList}" ItemTemplate="{StaticResource mySystemTemplate}" SelectedItem="{Binding Path=SelectedSystem}"
SelectionChanged="lbSystems_SelectionChanged" ContextMenuOpening="lbSystems_ContextMenuOpening">
<ListBox.Resources>
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="{DynamicResource DynamicCtrlHighlight}"/>
<SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}" Color="{DynamicResource DynamicCtrlHighlight}"/>
</ListBox.Resources>
</ListBox>
</DockPanel>
</Grid>
列表框项目模板
<Window.Resources>
<DataTemplate x:Key="mySystemTemplate">
<StackPanel VerticalAlignment="Stretch">
<TextBlock Text="{Binding Mode=OneWay}" Foreground="{DynamicResource DynamicFrmFG}" FontSize="14" FontFamily="Consolas"
TextWrapping="Wrap" Margin="0,2,0,2"/>
</StackPanel>
</DataTemplate>
</Window.Resources>
编辑:使用.Net版本4。它是所有机器的标准版本。看来它必须处理我的网格定义。我不太明白,但下面是我以前使用过的XAML
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="125" />
<RowDefinition Height="*" />
<RowDefinition Height="20" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="300" MinWidth="300" />
<ColumnDefinition Width="475*" />
</Grid.ColumnDefinitions>
<ColumnDefinition Width="300*" MinWidth="300" />
当我将第一列改为如下所示时,它开始在所有机器上正常滚动
<ColumnDefinition Width="300*" MinWidth="300" />
64位和32位计算机上的.NET版本是什么?有什么不同吗?添加了一个编辑以在所有机器上显示.Net 4。