2014-09-26 21 views
1

我已經在Listbox ItemTemplate /數據模板中實現了文本塊。它是數據綁定到正在從XML文件讀取的「數據」。一切工作正常,但文本正在修剪文本塊,並有一個空白。我知道原因,這是由於textblock的限制。現在我試圖從Alex Yakhnin的Blog中使用Scrollable TextBlock for WP7,但我無法理解如何在我的項目中實現這個功能?Windowsphone文本塊限制

C#代碼:

string XMLTagNameBody = "page"; 

private void ParseHeaderBody() 
{ 
    XDocument SunderGutkaXMLInstance = XDocument.Load(xmlFileToOpen); 

    var XMLBody = from query in SunderGutkaXMLInstance.Descendants(XMLTagNameBody) 
        select new BodyContentClass 
        { 
         Data = (string)query.Element("data"), 
        }; 
    ListBoxDisplayContent.ItemsSource = XMLBody; 
} 

public class BodyContentClass 
{ 
    string book; 
    string data; 

    public string Book 
    { 
     get { return book; } 
     set { book = value; } 
    } 

    public string Data 
    { 
     get { return data; } 
     set { data = value; } 
    } 
} 

XAML代碼:

<ListBox Margin="0,25,0,32" 
     x:Name="ListBoxDisplayContent" 
     FontSize="48" 
     HorizontalAlignment="Center"> 
    <ListBox.ItemTemplate> 
     <DataTemplate> 
      <StackPanel x:Name="ListBoxDisplayContentStackPanel" 
         Margin="10" 
         HorizontalAlignment="Center"> 
       <TextBlock x:Name="MainContentDisplayTextBlock" 
          TextWrapping="Wrap" 
          Text="{Binding Data}" 
          TextAlignment="Center" 
          HorizontalAlignment="Center" /> 
       <Image x:Name="dividerImage" 
         Stretch="Fill" 
         Source="/Assets/MainContentDivider.png" 
         Opacity="1"></Image> 
      </StackPanel> 
     </DataTemplate> 
    </ListBox.ItemTemplate> 
</ListBox> 

鏈接亞歷克斯Yakhnin的博客/滾動TextBlock的爲WP7:

回答

0

您可以創建一個自定義的控制,比它可以被添加到您的項目,如:

<StackPanel x:Name="ListBoxDisplayContentStackPanel" Margin="10" 
         HorizontalAlignment="Center"> 
     <my:ScrollableTextBlock Text="{Binding Data}" 

      HorizontalAlignment="Left" Name="scrollableTextBlock1" 

      VerticalAlignment="Top" Height="618" Width="427" Margin="12,-11,0,0" /> 

     <TextBlock x:Name="MainContentDisplayTextBlock" 
         TextWrapping="Wrap" 

         TextAlignment="Center" 
         HorizontalAlignment="Center" /> 
     <Image x:Name="dividerImage" 
         Stretch="Fill" 
         Source="/Assets/MainContentDivider.png" 
         Opacity="1"></Image> 
    </StackPanel> 

是你無法控制的命名空間。