WPF ScrollViewer的應用


        我們知道在一個限定高的窗體和容器中,想要把內容顯示完是有些問題的,這個時候我們就要使用類似於瀏覽器的那個滾動條的效果了,在wpf中也同樣如此,最近就碰到了這樣的問題,也糾結了很長時間,調試滾動效果的時候一直出不來,還好現在調試好了,把代碼貼出來

       xaml:

     <StackPanel>
        <ScrollViewer Name="scroll" Margin="0,50" Width="720"  Height="200" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto" >
       
                    <TextBlock    Name="OldMessage"   Foreground="White" Margin="20,10" />         
               
        </ScrollViewer>
        </StackPanel>

cs

 /// <summary>
        /// 窗體加載時
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void UserControl_Loaded(object sender, RoutedEventArgs e)
        {
            //獲取私信信息
            message = webMessage.GetModelById(PassData.Id);
            StringBuilder strMessage = new StringBuilder();
            if (message!=null)
            {
                strMessage.Append("<Bold FontSize='20'>發件人</Bold>:" + message.SendUserBase.UserName + "\r\n");
                strMessage.Append("接收人:" + message.ToUserBase.UserName + "\r\n");
                strMessage.Append("私信標題:" + message.Tile + "\r\n");
                strMessage.Append("發送時間:" + message.AddTime.ToString() + "\r\n");
                strMessage.Append("發送內容:" + message.Contents + "\r\n\n");
            }
           
            if (message.SendUser == PassData.CurrentUserId)
            {
                btnRvMessage.Visibility = Visibility.Collapsed;
            }
            else
            {
                btnRvMessage.Visibility = Visibility.Visible;
            }

            //顯示原始的私信
            string rvMessage = message.RvMessage;
            if (rvMessage != null && rvMessage != "")
            {
                string[] messageID = rvMessage.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);

                strMessage.Append("---原始文件--\r");
                foreach (string itemID in messageID)
                {
                  AllMessage    model = webMessage.GetModelById(itemID);
                  //OldMessage.Height += 150;
                  
                  strMessage.Append("<Bold FontSize='20'>發件人</Bold>:" + model.SendUserBase.UserName + "\r\n\n");
                  strMessage.Append("收件人:" + model.ToUserBase.UserName + "\r\n\n");
                  strMessage.Append("發送時間:" + model.AddTime + "\r\n\n");
                  strMessage.Append("主題:" + model.Tile + "\r\n\n");
                  strMessage.Append("內容:" + model.Contents + "\r\n\n\n");
                }
                
            }
            OldMessage.Text = strMessage.ToString();  
        }

效果如下:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM