Форум программистов
 
Регистрация на форуме тут, о проблемах пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > WPF, UWP, WinRT, XAML
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме 15-35 тыс рублей в месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.08.2021, 12:34   #1
eliasum
Пользователь
 
Регистрация: 12.02.2015
Сообщений: 30
По умолчанию Как обновить данные XML?

На форме два RadioButton, код XAML:

Код:
<Window.Resources>
        <local:BoolInverterConverter x:Key="BoolInverterConverter" />
    </Window.Resources>

    <Window.DataContext>
        <XmlDataProvider IsInitialLoadEnabled="True" IsAsynchronous="False">
            <x:XData>
                <Product xmlns="">
                    <Settings>
                        <Resume title="Резюме">
                            <Type>
                                <Item key="1" title="Годен"/>
                                <Item key="2" title="Брак"/>
                            </Type>
                        </Resume>
                        <Slot>
                            <Item key="01" resume ="" />
                        </Slot>
                    </Settings>
                </Product>
            </x:XData>
        </XmlDataProvider>
    </Window.DataContext>
        
    <Grid>
        <StackPanel HorizontalAlignment="Center" VerticalAlignment="Center">
                <RadioButton GroupName="{Binding XPath='@key'}" Content="{Binding XPath='//Resume/Type/Item[1]/@title'}" IsChecked="{Binding PropertyValue}"/>
                <RadioButton GroupName="{Binding XPath='@key'}" Content="{Binding XPath='//Resume/Type/Item[2]/@title'}" IsChecked="{Binding PropertyValue, 
                                    Converter={StaticResource BoolInverterConverter}}" />
        </StackPanel>
    </Grid>
</Window>
Code-behind:

Код:
using System;
using System.Windows;
using System.Windows.Data;

namespace UpdateXML
{
    /// <summary>
    /// Логика взаимодействия для MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }
    }

    public class BoolInverterConverter : IValueConverter
    {
        #region IValueConverter Members

        public object Convert(object value, Type targetType, object parameter,
            System.Globalization.CultureInfo culture)
        {
            if (value is bool)
            {
                return !(bool)value;
            }
            return value;
        }

        public object ConvertBack(object value, Type targetType, object parameter,
            System.Globalization.CultureInfo culture)
        {
            if (value is bool)
            {
                return !(bool)value;
            }
            return value;
        }

        #endregion
    }
}
На форме это выглядит так:

MainWindow.jpg

Как можно сделать так, чтобы выбор в виде "Годен/Брак" был записан в атрибут "resume" тега "Item" в теге "Slot":

UpdateXML - Microsoft Visual Studio .jpg

Последний раз редактировалось eliasum; 20.08.2021 в 12:41.
eliasum вне форума Ответить с цитированием
Ответ
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как получить данные с XML - PHP rustamcom2 PHP 1 18.12.2017 17:02
Как загрузить данные xml файла в sql server D-e-n-4-i-k C# (си шарп) 2 06.06.2015 09:11
Как обновить данные в БД из GridView под DataSource = Array Познающий ASP.NET 0 27.08.2014 11:47
Как взять XML данные с префиксом декларативно Veiron Общие вопросы .NET 2 16.07.2014 14:02
Обновить данные в DataGridView. Как верно? Genco Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate) 2 20.04.2011 07:23

Реклама для незарегистрированных, регистрация на форуме