Freigeben über


Gewusst wie: Erstellen eines Expanders mit einem ScrollViewer

In diesem Beispiel wird das Erstellen eines Expander-Steuerelements veranschaulicht, das komplexen Inhalt, etwa ein Bild und Text, enthält. Dieses Beispiel enthält auch den Inhalt vom Expander in einem ScrollViewer-Steuerelement.

Beispiel

Im folgenden Beispiel wird gezeigt, wie Sie einen Expander erstellen. Im Beispiel wird ein BulletDecorator-Steuerelement verwendet, das ein Bild und Text enthält, um den Header zu definieren. Ein ScrollViewer-Steuerelement stellt eine Methode bereit, mit der Sie einen Bildlauf durch den erweiterten Inhalt durchführen können.

Beachten Sie, dass im Beispiel die Height-Eigenschaft für den ScrollViewer, nicht für den Inhalt festgelegt wird. Wenn die Height für den Inhalt festgelegt wird, kann der Benutzer mit dem ScrollViewer keinen Bildlauf durch den Inhalt durchführen. Die Width-Eigenschaft wird für das Expander-Steuerelement festgelegt, und diese Einstellung gilt für den Header und den erweiterten Inhalt.

<Expander Width="200" HorizontalContentAlignment="Stretch">
   <Expander.Header>
     <BulletDecorator>
       <BulletDecorator.Bullet>
         <Image Width="10" Source="images\icon.jpg"/>
       </BulletDecorator.Bullet>
       <TextBlock Margin="20,0,0,0">My Expander</TextBlock>
     </BulletDecorator>
   </Expander.Header>
   <Expander.Content>
     <ScrollViewer Height="50">
       <TextBlock TextWrapping="Wrap">
         Lorem ipsum dolor sit amet, consectetur adipisicing elit, 
         sed do eiusmod tempor incididunt ut labore et dolore magna 
         aliqua. Ut enim ad minim veniam, quis nostrud exercitation 
         ullamco laboris nisi ut aliquip ex ea commodo consequat. 
         Duis aute irure dolor in reprehenderit in voluptate velit 
         esse cillum dolore eu fugiat nulla pariatur. Excepteur sint 
         occaecat cupidatat non proident, sunt in culpa qui officia 
         deserunt mollit anim id est laborum.
       </TextBlock>
     </ScrollViewer>
   </Expander.Content>
 </Expander>
//Create Expander object
Expander exp = new Expander();

//Create Bullet Panel for Expander Header
BulletDecorator bp = new BulletDecorator();
Image i = new Image();
BitmapImage bi= new BitmapImage(); 
bi.UriSource = new Uri(@"pack://application:,,/images/icon.jpg");
i.Source = bi;
i.Width = 10;
bp.Bullet = i;
TextBlock tb = new TextBlock();
tb.Text = "My Expander";
tb.Margin = new Thickness(20,0,0,0);     
bp.Child = tb;
exp.Header = bp;

//Create TextBlock with ScrollViewer for Expander Content
StackPanel spScroll = new StackPanel();
TextBlock tbc = new TextBlock();
tbc.Text =
        "Lorem ipsum dolor sit amet, consectetur adipisicing elit," +
        "sed do eiusmod tempor incididunt ut labore et dolore magna" +
        "aliqua. Ut enim ad minim veniam, quis nostrud exercitation" +
        "ullamco laboris nisi ut aliquip ex ea commodo consequat." +
        "Duis aute irure dolor in reprehenderit in voluptate velit" +
        "esse cillum dolore eu fugiat nulla pariatur. Excepteur sint" +
        "occaecat cupidatat non proident, sunt in culpa qui officia" +
        "deserunt mollit anim id est laborum.";
tbc.TextWrapping = TextWrapping.Wrap;

spScroll.Children.Add(tbc);
ScrollViewer scr = new ScrollViewer();
scr.Content = spScroll;
scr.Height = 50;
exp.Content = scr;

exp.Width=200;  
exp.HorizontalContentAlignment= HorizontalAlignment.Stretch;

Siehe auch

Referenz

Expander

Konzepte

Übersicht über Expander-Steuerelemente

Weitere Ressourcen

Gewusst-wie-Themen zu einem Expander