Гость
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Как вывести список в CheckComboBox из XML? / 6 сообщений из 6, страница 1 из 1
18.08.2021, 17:12
    #40091569
eliasum
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вывести список в CheckComboBox из XML?
Здравствуйте! Написал такой код XAML для вывода списка в CheckComboBox:
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
<Window x:Class="CheckComboBoxApp.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:toolkit="clr-namespace:Xceed.Wpf.Toolkit;assembly=Xceed.Wpf.Toolkit"
        mc:Ignorable="d"
        Title="MainWindow" Height="450" Width="800">
 
    <Window.DataContext>
        <XmlDataProvider IsInitialLoadEnabled="True" IsAsynchronous="False">
            <x:XData>
                <Product xmlns="" title="">
                    <Settings title="">
                        <Slot title="" description="">
                            <Item key="01"></Item>
                            <Item key="02"></Item>
                            <Item key="03"></Item>
                            <Item key="04"></Item>
                            <Item key="05"></Item>
                            <Item key="06"></Item>
                            <Item key="07"></Item>
                            <Item key="08"></Item>
                            <Item key="09"></Item>
                        </Slot>
                    </Settings>
                </Product>
            </x:XData>
        </XmlDataProvider>
    </Window.DataContext>
 
    <Grid DataContext="{Binding XPath=Product/Settings/Slot/Item}">
        
        <toolkit:CheckComboBox HorizontalAlignment="Center" 
                               VerticalAlignment="Center" 
                               ItemsSource="{Binding XPath=@key}" />
    </Grid>
</Window>



Но CheckComboBox не выводит выпадающий список с чекбоксами и текстом вида 01, 02, ..., 09. Как сделать так, чтобы можно было вывести список в CheckComboBox из XML? Примерно как на картинке ниже:



Сейчас выводится так:

...
Рейтинг: 0 / 0
18.08.2021, 17:55
    #40091582
Сон Веры Павловны
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вывести список в CheckComboBox из XML?
eliasum,

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
class XmlAttributeConverter : IValueConverter
{
  public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
    => value is IEnumerable<XmlNode> values
      ? values.OfType<XmlAttribute>().Select(xa => xa.Value)
      : value;

  public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
    => throw new NotImplementedException();
}


Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
<Window.Resources>
  <local:XmlAttributeConverter x:Key="XmlAttributeConverter" />
</Window.Resources>

<Grid DataContext="{Binding XPath=Product/Settings/Slot}">
  <toolkit:CheckComboBox
    HorizontalAlignment="Center" 
    VerticalAlignment="Center" 
    ItemsSource="{Binding XPath=Item/@key, Converter={StaticResource XmlAttributeConverter}}" />
</Grid>
...
Рейтинг: 0 / 0
19.08.2021, 18:32
    #40091969
eliasum
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вывести список в CheckComboBox из XML?
Сон Веры Павловны, я что то неправильно похоже сделал:


...
Рейтинг: 0 / 0
19.08.2021, 18:40
    #40091976
Сон Веры Павловны
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вывести список в CheckComboBox из XML?
eliasum
Сон Веры Павловны, я что то неправильно похоже сделал

Ещё бы. В коде на скриншоте класс конвертера является nested (вложенным), а поскольку он без модификатора видимости, то он ещё и приватный. Но WPF в любом случае не умеет работать с nested-классами. Вынесите этот класс в отдельный в том же неймспейсе, и всё.
...
Рейтинг: 0 / 0
19.08.2021, 18:58
    #40091989
eliasum
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вывести список в CheckComboBox из XML?
Сон Веры Павловны, СПАСИБО ВАМ БОЛЬШОЕ, ВСЕ РАБОТАЕТ!!!
...
Рейтинг: 0 / 0
20.08.2021, 11:02
    #40092159
Roman Mejtes
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вывести список в CheckComboBox из XML?
Сон Веры Павловны,

там еще метода не хватает
...
Рейтинг: 0 / 0
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Как вывести список в CheckComboBox из XML? / 6 сообщений из 6, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]