Я пытаюсь получить тексты из коллекции текстовых полей, которые создаются динамически, связывая коллекцию с панелью с помощью элементов управления который находится в отдельном пользовательском элементе управления, который я загружаю на странице во время работы Windows-телефона.Как получить доступ к тексту из всех текстовых полей (где текстовые файлы создаются динамически) в Windows Windows runtime
Ниже приведен код моего UserControl:
<UserControl
x:Class="CfMobility.UserControls.CredentialsUserControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:CfMobility.UserControls"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
d:DesignHeight="300"
d:DesignWidth="400">
<ScrollViewer>
<ItemsControl ItemsSource="{Binding SelectedCategorySettings}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<StackPanel IsTapEnabled="False">
<TextBlock Text="{Binding SettingKey}" Style="{ThemeResource BaseTextBlockStyle}"></TextBlock>
<TextBox Text="{Binding SettingValue}" Width="300px"/>
</StackPanel>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</ScrollViewer>
</UserControl>
У меня есть контроль содержания в другой странице, как показано ниже:
<ContentControl x:Name="Container" Grid.Row="1" Margin="19,10,19,0">
</ContentControl>
Где я связывание этого контроля контента в выше StackPanel, когда я нахожусь переход на страницу.
Как вы можете видеть, у меня была привязанная коллекция «SelectedCategorySettings» к StackPanel с помощью ItemsScroll, которая отображает количество текстовых полей на основе коллектора. Здесь я не могу понять, хочу ли я сохранить текст из всех текстовых полей, отображаемых на странице, в json-файл, как получить доступ к тексту всех текстовых полей, которые динамически отображаются в приведенном выше сценарии?
PS: обратите внимание, что элементы управления находятся в отдельном пользовательском элементе управления.
Заранее спасибо
Спасибо за это !! Но моя проблема заключается в одновременном доступе ко всем текстовым полям для сохранения в каком-то файле в локальном хранилище. Как вы можете видеть выше «SettingValue» TextBox. Предположим, что у меня уже есть некоторые значения в «SelectedCategorySettings», что означает, что на этой странице будет много текстовых полей. Теперь предположим, что я редактировал некоторые из этих текстовых полей и хочу сохранить их обратно в некоторый файл, скажем, JSON в локальном хранилище. Поскольку эти текстовые поля создаются динамически, я хочу получить доступ к содержимому для сохранения в файл. Как мне это сделать? –
Да, я понял вашу проблему. Но проблема в том, что вы пытаетесь получить доступ к текстовым полям, созданным ItemsControl, точно так же, как текстовое поле, созданное с помощью xaml по имени или что-то в этом роде. Но это не так, как вы делаете это в телефоне Windows. Вам нужно использовать шаблон mvvm, как я объяснил выше. Если вы правильно это сделаете, значения в «SelectedCategorySettings» будут автоматически обновляться с помощью ui, когда пользователь вводит и изменяет значения в текстовых окнах. Затем вы можете получать новые значения из самой «SelectedCategorySettings». Таким образом, вам не нужны явно текстовые поля для получения новых значений. –