Модераторы: gambit, Kefir, Partizan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Combobox Binding 
V
    Опции темы
Kefir
Дата 19.6.2011, 19:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


«Hakuna Matata»
***


Профиль
Группа: Комодератор
Сообщений: 1878
Регистрация: 25.1.2003
Где: Tampere, Suomi

Репутация: 22
Всего: 87



Ronin08, SelectedValue биндится в обе стороны. Привяжи его у Application.VendorId который ты создаёшь и будет тебе счастье. Если же ты не можешь этого сделать - читай книжки и вникай что у тебя не так на пару с дебагером.

Следующий код работает (это как пример, биндится напрямую в текстбокс для наглядности):
Код

<TextBox x:Name="tb"/>
<ComboBox x:Name="combo" SelectedValue="{Binding Text, ElementName=tb}" SelectedValuePath="Id" DisplayMemberPath="Name"/>

PM MAIL WWW Skype   Вверх
Rohoss
Дата 19.6.2011, 19:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начальник интернета
***


Профиль
Группа: Завсегдатай
Сообщений: 1308
Регистрация: 9.10.2006
Где: Matrix

Репутация: 4
Всего: 18



Ronin08, посмотри аттач, возможно сделано так, как тебе и нужно  smile 

Присоединённый файл ( Кол-во скачиваний: 4 )
Присоединённый файл  WpfApplication5.zip 111,92 Kb


--------------------
Файловый менеджер Explorer.Net скачать  video
PM ICQ   Вверх
Rohoss
Дата 19.6.2011, 19:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начальник интернета
***


Профиль
Группа: Завсегдатай
Сообщений: 1308
Регистрация: 9.10.2006
Где: Matrix

Репутация: 4
Всего: 18



В примере я использовал MvvmLight.

Добавлено через 2 минуты и 38 секунд
Был бы очень признателен, если бы кто-то из участников, хорошо понимающий паттерн MVVM сказал, правильно ли я его использую в данном примере, и может быть где-то использую криво.

Это сообщение отредактировал(а) Rohoss - 19.6.2011, 19:24


--------------------
Файловый менеджер Explorer.Net скачать  video
PM ICQ   Вверх
Ronin08
Дата 20.6.2011, 11:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 218
Регистрация: 16.2.2008
Где: г.Москва

Репутация: нет
Всего: 1



Всем спасибо, разобрался. Надо было просто сделать так, чтобы у combobox и textbox был один и тот же DataContext и у Combox.ItemsSource был
Код

ItemsSource="{Binding Source={StaticResource ResourceKey=vendorViewSource}}" 

весь код
Код

<Window.Resources>
        <CollectionViewSource x:Key="vendorViewSource" d:DesignSource="{d:DesignInstance my:Vendor, CreateList=True}" />
        <CollectionViewSource x:Key="applicationViewSource" d:DesignSource="{d:DesignInstance my:Application, CreateList=True}" />
    </Window.Resources>
    <Grid>
        <Grid DataContext="{StaticResource applicationViewSource}" HorizontalAlignment="Left" Margin="12,50,0,0" Name="grid1" VerticalAlignment="Top">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="Auto" />
                <ColumnDefinition Width="Auto" />
            </Grid.ColumnDefinitions>
            <Grid.RowDefinitions>
                <RowDefinition Height="Auto" />
                <RowDefinition Height="Auto" />
            </Grid.RowDefinitions>
            <Label Content="Vendor:" Grid.Column="0" Grid.Row="1" HorizontalAlignment="Left" Margin="3" VerticalAlignment="Center" />
            <ComboBox  Grid.Column="1" Grid.Row="1" Height="23"  Name="cbxVnd" Width="120"
                      ItemsSource="{Binding Source={StaticResource ResourceKey=vendorViewSource}}" 
                      DisplayMemberPath="Name"
                      SelectedValue="{Binding Path=IdVendor}"
                      SelectedValuePath="IdVendor">
                
                <ComboBox.ItemsPanel>
                    <ItemsPanelTemplate>
                        <VirtualizingStackPanel />
                    </ItemsPanelTemplate>
                </ComboBox.ItemsPanel>
            </ComboBox>
            <Label Content="Application:" Grid.Column="0" Grid.Row="0" HorizontalAlignment="Left" Margin="3" VerticalAlignment="Center" />
            <TextBox Grid.Column="1" Grid.Row="0" Height="23" HorizontalAlignment="Left" Margin="3" x:Name="nameTextBox" Text="{Binding Path=Name, Mode=TwoWay, ValidatesOnExceptions=true, NotifyOnValidationError=true}" VerticalAlignment="Center" Width="120" />
        </Grid>
    </Grid>


Это сообщение отредактировал(а) Ronin08 - 20.6.2011, 11:39
--------------------
Зачем вставать рано или поздно? Надо вставать вовремя
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | WPF и Silverlight | Следующая тема »


 




[ Время генерации скрипта: 0.0426 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.