2015-12-18 57 views
0

我嘗試爲從c#後面創建的文本塊添加滾動查看器,將文本塊添加到堆棧面板stackPanel.Children.Add(text block)。我想在Windows Phone 8.0中這樣做。如何將scrollViewer添加到文本塊的堆棧面板?

當make類似的東西:

StackPanel stackPanel = new StackPanel();  
ScrollViewer sv = new ScrollViewer();  
sv.Content = stackPanel; 

我得到:{ 「值沒有在預期的範圍內」}

ExceptionObject =。

解決該異常的一種解決方案?

回答

2

ScrollViewer計算它是一個基於子控件的尺寸滾動條。 如果您的TextBlock擁有Height屬性集,請將其刪除,並且滾動條應按預期工作。

你也應該設置:

sv.Content = yourTextBlock; 
+0

'sv.Content = '?這是一個編譯錯誤。你想在這裏說什麼? – Will

+1

不知道TextBlock實例,所以我加了< TextBlock >,所以他會明白需要添加實例名稱而不是< TextBlock >。 –

1

用下面的代碼(其中內容是網格):

protected override void OnNavigatedTo(NavigationEventArgs e) 
    { 
     var textBlock = new TextBlock() { Text = "hello" }; 

     var stackPanel = new StackPanel(); 
     stackPanel.Children.Add(textBlock); 

     var sv = new ScrollViewer { Content = stackPanel }; 

     this.Content.Children.Add(sv); 
    } 

我得到所需的輸出:

Manual textbox

所以,我試圖重現你的錯誤。如果TextBlock爲空,我會得到相同的異常。所以也許你創建TextBlock的代碼有一些問題?這裏有一個例子:

 TextBlock text = null; 

     var stackPanel = new StackPanel(); 
     stackPanel.Children.Add(text); 

     var sv = new ScrollViewer { Content = stackPanel }; 

     this.Content.Children.Add(sv); 

會導致:

Exception

+0

我有我的文字塊一些文本,所以不爲空, –

相關問題