Загрузить DataTemplate из файла или строки в Windowsphone - PullRequest
0 голосов
/ 22 марта 2012

Я разрабатываю приложение для Windows Phone, и мне нужно, чтобы пользователь мог настроить DataTemplete из DataList. Приложение использует WCF для загрузки данных из внешней базы данных, и я думаю, что я могу использовать этот метод для разработки DataContext (согласно указаниям пользователя) и отправки его в приложение Windows Phone, сохранения его в файле и загрузки этого файла.

Я проверяю это, но я получаю сообщение об ошибке в последней строке

string dt = @ "

            <TextBlock 
                Text=""{Binding Codigo}"" 
                FontSize=""{StaticResource PhoneFontSizeNormal}""
                Grid.Column=""0"" 
                VerticalAlignment=""Top""/>

            <TextBlock 
                Text=""{Binding Nombre}"" 
                FontSize=""{StaticResource PhoneFontSizeLarge}"" 
                Grid.Column=""1"" 
                VerticalAlignment=""Top""/>";            

        listLineas.ItemTemplate = (DataTemplate)XamlReader.Load(dt);

Спасибо

1 Ответ

2 голосов
/ 22 марта 2012

Разве вам не нужно создавать действительный шаблон данных XAML в строке?

string dt = @"
    <DataTemplate xmlns=""http://schemas.microsoft.com/winfx/2006/xaml/presentation"">  
        <StackPanel>
            <TextBlock 
                Text=""{Binding Codigo}"" 
                FontSize=""{StaticResource PhoneFontSizeNormal}""
                Grid.Column=""0"" 
                VerticalAlignment=""Top""/>

            <TextBlock 
                Text=""{Binding Nombre}"" 
                FontSize=""{StaticResource PhoneFontSizeLarge}"" 
                Grid.Column=""1"" 
                VerticalAlignment=""Top""/>
        </StackPanel>
    </DataTemplate>";

    listLineas.ItemTemplate = (DataTemplate)XamlReader.Load(dt);

Обратите внимание, что должно быть объявлено пространство имен по умолчанию и что содержимое может быть установлено только один раз (отсюда переносStackPanel)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...