Как вы вкладываете элементы меток в ScrollViewer? - PullRequest
0 голосов
/ 05 декабря 2011

Я пытаюсь сделать что-то вроде этого:

<ScrollViewer Height="287" HorizontalAlignment="Left" Margin="12,12,0,0" Name="boxAnswer" VerticalAlignment="Top" Width="294">
   <Label Content="Label" Height="28" Name="label1" VerticalAlignment="top" />
</ScrollViewer>

За исключением того, что я хочу быть размещен программно. Когда я вызываю .IsAncestorOf для boxAnswer, он возвращает true, но я не могу установить .IsDescendentOf для элемента метки, даже если я могу создать его программно.

Ответы [ 2 ]

2 голосов
/ 05 декабря 2011

Это -

ScrollViewer scrollViewer = new ScrollViewer();
        StackPanel stackPanel = new StackPanel();
        stackPanel.Orientation = Orientation.Vertical;
        scrollViewer.Content = stackPanel;
        stackPanel.Children.Add(new TextBlock(){
            Text = "some text"
    });
        stackPanel.Children.Add(new TextBlock(){
            Text = "some text2"
    });

будет одним из способов сделать это.Хотя я думаю, что, возможно, вам стоит взглянуть на ListBox или ListView, поскольку они могут быть более подходящим решением, чем растущая панель стека.Может быть, даже просто многострочный текстовый блок.

2 голосов
/ 05 декабря 2011
boxAnswer.Content = new Label()
                            {
                                 Content = "Label",
                                 Height = 28,
                                 Name = "label1",
                                 VerticalAlignment = VerticalAlignment.Top
                             };
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...