изменение текстового блока на текстовое поле теряет привязки данных - - PullRequest
0 голосов
/ 28 июля 2010

это приложение wpf / c # - у меня есть одна сетка, где я использовал текстовые поля и привязки данных были в порядке. Позже я построил другую сетку, используя текстовые блоки. оба работали хорошо. но когда я изменил текстовые блоки во второй сетке на текстовые поля, все, кроме одного, перестали отображать данные.

Я скопировал код c # LINQ и код XAML, которые предоставляют данные для привязок, перекомпилировал, сохранил их в NotePad ++ и закрыл VS (8). После повторного открытия проекта я заново вставил код, но у меня все еще не было данных.

Буду очень признателен за любые идеи, которые могут помочь.

Вот код c #

var vendDetail = from v in dbC.Vendors
                  where v.VendorID == vendorid
                   select new
                   {
                      v.Address1,
                      v.Address2,
                      CSZ = v.City + ", " + v.State + " " + v.Zip,
                      v.Phone,
                      v.Fax,
                      v.Contact,
                      v.Terms,
                      v.eMail
                    };

                grVendorData.DataContext = vendDetail;

И код XAML:

                                    <TextBox x:Name="txtVendorAddr1"
                                           Text="{Binding Path= Address1}" 
                                           Background="AliceBlue"
                                           Grid.Row="2"
                                           Grid.Column="1"/>

                                    <TextBox x:Name="txtVendorAddr2"
                                           Text="{Binding Path= Address2}"  
                                           Grid.Row="3"
                                           Grid.Column="1"
                                           Background="AliceBlue"/>
                                    <Label Content="City" 
                                       Grid.Row="4"
                                       Grid.Column="0"/>

                                    <TextBox x:Name="txtVendorCity"
                                       Text="{Binding Path= CSZ}"  
                                           Grid.Row="4"
                                       Grid.Column="1"/>

                                    <Label Content="Phone"
                                       Grid.Row="1"
                                       Grid.Column="0"/>
                                    <TextBox  x:Name="txtVendorPhone" 
                                            Text="{Binding Path = Phone}"
                                            Grid.Row="1"
                                            Grid.Column="1"/>

                                    <Label Content="Fax" 
                                       Grid.Column="2" 
                                        />
                                    <TextBox Text="{Binding Path = Fax}" 
                                           Grid.Row="0"
                                           Grid.Column="3"  />

                                    <Label Content="Terms" 
                                           Grid.Row="2"
                                           Grid.Column="2"/>
                                    <TextBox Text="{Binding Path = Terms}"
                                               Grid.Row="2"
                                           Grid.Column="3"/>

                                    <Label Content="Notes" 
                                           Grid.Row="3"
                                           Grid.Column="2" />
                                    <TextBox Text="{Binding Path = Notes}"
                                               Grid.Row="3"
                                               Grid.Column="3"
                                               Grid.RowSpan="2" 
                                             TextWrapping="WrapWithOverflow" />

                                    <Label Content="eMail" 
                                           Grid.Row="1"
                                           Grid.Column="2"  />
                                    <TextBox Text="{Binding Path = eMail}" 
                                               Grid.Row="1"
                                               Grid.Column="3"/>

1 Ответ

0 голосов
/ 04 января 2012

Невозможно выполнить привязку к анонимным типам, поэтому привязка сработала после того, как вы начали выбирать всю запись.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...