powered by simpleCommunicator - 2.0.27     © 2024 Programmizd 02
Map
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Как вывести список в CheckComboBox из XML?
6 сообщений из 6, страница 1 из 1
Как вывести список в CheckComboBox из XML?
    #40091569
eliasum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте! Написал такой код 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
Как вывести список в CheckComboBox из XML?
    #40091582
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Как вывести список в CheckComboBox из XML?
    #40091969
eliasum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сон Веры Павловны, я что то неправильно похоже сделал:


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

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

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


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