2017-03-03 2 views
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" でユーザーコントロールを示しています

+0

スクロールビューアでListBoxをラップしてみましたか? – rauland

+0

はい、私はしました。それは同じように動作します –

+0

これは助けてください:http://stackoverflow.com/questions/472796/how-can-i-get-a-vertical-scrollbar-in-my-listbox – rauland

答えて

0

[OK]を、私はそれがあった、問題を発見MainWindowのScrollBarViewerを呼び出します。リストボックスには自由度がありました。 ScrollBarViewerを削除すると問題が解決しました。

関連する問題