Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > WPF и Silverlight > Помогите с составлением шаблона ItemTamplate


Автор: artstalker 14.3.2010, 21:18
На форме есть ListBox который отображает данные из таблицы. Поскольку необходимо тображать несколько полей, то пришлось изменить шаблон ListBox.ItemTemplate. В данной реализации каждый Item  состоит из TextBlock и TextBox. И тут проблема с TextBox-ами. Дело в том что если у меня виделен один элемент в ListBox, а я клацну на TextBox-е другого элемента в списке, то он фокус перейдёт на данный TexBox но сам Item не выделится. Выделенным останется тот, что и был до этого. Как изменить это поведение:
Вот код шаблона:
Код

 <ListBox.ItemTemplate>
                <DataTemplate>
                    <Border Margin="5" BorderThickness="1" BorderBrush="SteelBlue" CornerRadius="4">
                        <Grid Margin="3">
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width="100"/>
                                <ColumnDefinition Width="40"/>
                            </Grid.ColumnDefinitions>
                            <TextBlock FontWeight="Bold" Text="{Binding Item}"/>
                            <TextBox Grid.Column="1"  Text="{Binding Price}"  />
                             </Grid>
                    </Border>
                </DataTemplate>
            </ListBox.ItemTemplate>

Автор: Partizan 15.3.2010, 00:51
Выставить триггер на TextBox.IsFocused, который будет IsSelected в true выставлять(если только оно не read-only) smileИли как-то так smile

Автор: artstalker 25.3.2010, 19:53
Вот в этом то и проблема. IsSelected надо ставить на данный item. А как я тут могу обратится к элементу item  если тут получается я определяю шаблон уже внутри Item.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)