所以我有一个列表框显示usercontrol中的一些数据:
<UserControl x:Class="FSBEM.UCs.SomeUC"
VerticalAlignment="Stretch"
HorizontalAlignment="Stretch">
<Grid Margin="7,0,9,0">
<Grid.RowDefinitions>
<RowDefinition Height="40"/>
<RowDefinition/>
</Grid.RowDefinitions>
<ListBox x:Name="ListBox"
SelectedValuePath="Id"
ItemsSource="{Binding}"
Margin="0,5,5,5">
<ListBox.ItemTemplate>
<DataTemplate>
<DockPanel>
<TextBlock DockPanel.Dock="Right">
<TextBlock.Text>
<MultiBinding StringFormat="{} {0} ">
<Binding Path="Name" />
</MultiBinding>
</TextBlock.Text>
</TextBlock>
<Button x:Name="Btn_Delete"
Padding="5,0,5,0"
CommandParameter="{Binding}">
<Image Source="/Media/Icons/Delete_Icon.png"
Width="10"
Height="10"/>
</Button>
</DockPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<TextBox Name="txtBox"
Height="22"
Margin="0,14,5,5"/>
</Grid>
</UserControl>
问题是列表框没有坚持主窗口边框..相反,它将整个用户控件拉伸到主窗口之外..我尝试设置MaxHeight,但它不是我的解决方案。我想处理它以坚持主窗口边框,并在有太多数据显示时显示滚动条。
更新 这是MainWindow的xaml代码:
<Window x:Class="FSBEM.MainWindow"
Height="471.997"
Width="1186.374"
WindowStartupLocation="CenterScreen"
WindowState="Maximized">
<ScrollViewer FlowDirection="RightToLeft"
HorizontalScrollBarVisibility="Auto"
VerticalScrollBarVisibility="Auto">
<Grid x:Name="MainGrid"
FlowDirection="RightToLeft">
<Menu x:Name="menu"
HorizontalAlignment="Stretch"
Height="23"
VerticalAlignment="Top" />
<Grid Name="InnerGrid"
Margin="0,23,0,20" />
</Grid>
</ScrollViewer>
我正在“InnerGrid”
中显示usercontrol答案 0 :(得分:0)
好的,我发现了问题,它是MainWindow中的ScrollBarViewer。这就是为什么列表框可以自由伸展。删除ScrollBarViewer解决了这个问题。