WPF, ListBox, DataContext и checkbox без текста
От: senglory  
Дата: 24.02.11 18:51
Оценка:
Вот такая разметка:

<ListBox Height="92" HorizontalAlignment="Left" Margin="12,556,0,0" Name="ctlBodyTypes" VerticalAlignment="Top" Width="276" Grid.RowSpan="2"
ItemsSource="{Binding}"
>
<ListBox.ItemTemplate>
<DataTemplate>
<CheckBox>
<TextBlock Text="{Binding Path=Name }" />
</CheckBox>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>



Вот так привязываю DataContext :


QCISRDatabaseClasses.QCISRDataContext db = new QCISRDatabaseClasses.QCISRDataContext();
        var qry = (from r in db.sp_GetBodyTypes() select r).AsEnumerable();
        ctlBodyTypes.DataContext = qry;


Чекбоксы появляются, но у них нет текста. Как это исправить?
Re: WPF, ListBox, DataContext и checkbox без текста
От: MxMsk Португалия  
Дата: 24.02.11 19:25
Оценка: 6 (1)
Здравствуйте, senglory, Вы писали:

S>Чекбоксы появляются, но у них нет текста. Как это исправить?

Что пишется в Output? Если есть ошибки в Binding-ах, то они туда сбрасываются при отладке.
Re[2]: WPF, ListBox, DataContext и checkbox без текста
От: senglory  
Дата: 24.02.11 19:46
Оценка:
Здравствуйте, MxMsk, Вы писали:

MM>Здравствуйте, senglory, Вы писали:


S>>Чекбоксы появляются, но у них нет текста. Как это исправить?

MM>Что пишется в Output? Если есть ошибки в Binding-ах, то они туда сбрасываются при отладке.


System.Windows.Data Error: 40 : BindingExpression path error: 'Name' property not found on 'object' ''sp_GetBodyTypesResult' (HashCode=17203224)'. BindingExpression:Path=Name; DataItem='sp_GetBodyTypesResult' (HashCode=17203224); target element is 'CheckBox' (Name=''); target property is 'Content' (type 'Object')


Как только проставил в DBML для sp_GetBodyTypes правильный ReturnType — все заработало!
Re[3]: WPF, ListBox, DataContext и checkbox без текста
От: MxMsk Португалия  
Дата: 24.02.11 20:11
Оценка:
Здравствуйте, senglory, Вы писали:

S>Как только проставил в DBML для sp_GetBodyTypes правильный ReturnType — все заработало!

Вот и отлично

Да, если нужно просто прибиндить текст CheckBox, то можно просто задать привязку для Content:
<CheckBox Content="{Binding Path=Name}" />


А XAML лучше оформлять тегом [xml]
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.