2014-09-26 3 views
1

Я реализовал текстовый блок в шаблоне ItemTemplate/data в Listbox. Это привязка данных к «данным», которая считывается из XML-файла. Все работает отлично, но текст обрезается в текстовых блоках, а там пустое место. Я знаю причину, и это связано с ограничениями в текстовом блоке. Теперь я попытался использовать Scrollable TextBlock для WP7 из блога Alex Yakhnin, но я не могу понять, как реализовать это в моем проекте?Ограничение на текстовое блокирование 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> 

Ссылки для блога Alex Яхнина/прокруткой 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> 

Где мой это пространство имен вашего контроля.