1
をストレッチ:XAMLリストボックスだから私は、ユーザーコントロール内のいくつかのデータを示すリストボックスを抱えている全ユーザーコントロール
<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を設定しようとしましたが、それは私には解決策ではありません。私はそれを処理して、メインウィンドウの境界線に固執し、表示するデータがあまりにも多いときはスクロールバーを表示したい。
UPDATE これは、メインウィンドウのための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" でユーザーコントロールを示しています
スクロールビューアでListBoxをラップしてみましたか? – rauland
はい、私はしました。それは同じように動作します –
これは助けてください:http://stackoverflow.com/questions/472796/how-can-i-get-a-vertical-scrollbar-in-my-listbox – rauland