Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Scrollviewer在Usercontrol WPF中不可见_C#_Wpf_Silverlight_Mvvm_Prism - Fatal编程技术网

C# Scrollviewer在Usercontrol WPF中不可见

C# Scrollviewer在Usercontrol WPF中不可见,c#,wpf,silverlight,mvvm,prism,C#,Wpf,Silverlight,Mvvm,Prism,WPF Scrollviewer在Usercontrol中不可见 我使用的是棱镜架构 我在usercontrol中有一个scrollviewer,scrollviewer包含一个stackpanel <UserControl x:Class="SomeView" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.

WPF Scrollviewer在Usercontrol中不可见

我使用的是棱镜架构

我在usercontrol中有一个scrollviewer,scrollviewer包含一个stackpanel

<UserControl x:Class="SomeView"  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"         
      mc:Ignorable="d" >

     <UserControl.Resources>        
     <BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter"/>        
     </UserControl.Resources>

     <ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto">  
     <StackPanel>     
<TextBlock Text="Initialize" HorizontalAlignment="Center" VerticalAlignment="Center"/>

 <StackPanel Orientation="Horizontal">     
 <Label Content="Left"/>     

 <ComboBox ItemsSource="{Binding LeftComboItems}"  SelectedItem="{Binding LeftSelectedItem}" /> 
 <Label Content="Right"/>     
<ComboBox ItemsSource="{Binding RightComboItems}" SelectedItem="{Binding RightSelectedItem}"/>     
 <Label/>    

<Button Content="Save" Command="{Binding SaveCommand}"/>     
 </StackPanel>     
 <StackPanel Visibility="{Binding IsVisible,Converter={StaticResource BooleanToVisibilityConverter}}">   

 <Grid>   
跳过列定义

<StackPanel Grid.Column="1" Grid.ColumnSpan="2">     
 <Label Content="Left"  />     
 <DataGrid ItemsSource="{Binding LeftDataGrid}" AutoGenerateColumns="False" ColumnWidth="*" Grid.Column="2" >     
 <DataGrid.Columns>     
 <DataGridTextColumn Header="ID" Binding="{Binding ID}" />     
 <DataGridTextColumn Header="Name" Binding="{Binding Name}" />     
 </DataGrid.Columns>     
 </DataGrid>     
 </StackPanel>  

 <StackPanel Grid.Column="4" Grid.ColumnSpan="2">   
 <Label Content="Left Grid" />     
 <DataGrid ItemsSource="{Binding RightDataGrid, Mode=OneWay}" AutoGenerateColumns="False" ColumnWidth="*" CanUserAddRows="False" CanUserDeleteRows="False" >


 <DataGridTextColumn Header="ID" Binding="{Binding id}" />     
 <DataGridTextColumn Header="Name" Binding="{Binding Name}"/>     

 </DataGrid>
 </StackPanel>

    </StackPanel> 
 </Grid>    
     </StackPanel>        
     </ScrollViewer>

LeftComboItems和RightComboItems是字符串类型的可观察集合。

删除StackPanel使用网格/Panel或为StackPanel设置一些较大的高度。

据我所知,ScrollViewer控件用于在溢出情况下启用滚动,例如在包含许多项的列表框中。因此,如果我将数据网格放在一个ScrollViewer中,并删除任何固定的行高度以使其溢出,否则使用ScrollViewer就没有意义了


希望有帮助。

您没有提到屏幕的高度和宽度。滚动查看器显示 在特定的限制之后。因此,如果您希望滚动查看器显示,请至少提及垂直滚动条的最小高度。当该滚动查看器中的数据/控件超出高度限制时,它将显示

ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto" MinHeight="300" MinWidth="200"
你说不可见是什么意思?内容不可见或滚动条不可见?如果是滚动条,您将SomeView控件放在哪里?它是在网格、StackPanel还是其他什么地方?@dkozl我已经发布了我的整个xaml。滚动条不可见。特别是垂直的,那你怎么用呢?它的容器是什么?是不是有点像?@dkozl我想你是对的。我想你应该重写这个作为一个答案。我不知道PRISM,但你必须有一个视图,表明你想使用ItemsControl来显示你的用户控件列表。在这种情况下,只需说ItemsControl应该包含在ScrollViewer中