Кнопка не работает во всплывающем окне внутри шаблона редактирования RadGridView - WPF - PullRequest
0 голосов
/ 17 мая 2019

Telerik UI для WPF, RadGridView.

В xaml у меня есть кнопка во всплывающем окне, которое помещается в Редактировать шаблон ячейки (CellEditTemplate).Событие Click кнопки и команда не запускаются, когда я нажимаю кнопку.Я попытался поместить всплывающее окно с кнопкой внутри View Cell Template (CellTemplate) и кнопкой (без всплывающего окна) внутри Editing Template.Они оба работают.Структура xaml ниже.Когда нажата кнопка во всплывающем окне, я хочу закрыть всплывающее окно и перейти к фиксации изменения в ячейке.Возможно ли это сделать?Это специфическая проблема Telerik или общая проблема с GridView?

Заранее благодарим за помощь.

<telerik:RadGridView ... NewRowPosition="Top">
    <telerik:RadGridView.Columns>
        <telerik:GridViewToggleRowDetailsColumn .../>
        <telerik:GridViewDataColumn ...>        
            <telerik:GridViewDataColumn.CellTemplate>
                <DataTemplate>
                ...             
                </DataTemplate>
            </telerik:GridViewDataColumn.CellTemplate>          
            <telerik:GridViewDataColumn.CellEditTemplate>
                <DataTemplate>
                    <TextBox ... >
                        <TextBox.Triggers>
                            <EventTrigger RoutedEvent="TextBox.GotFocus">
                                <EventTrigger.Actions>
                                    <BeginStoryboard>
                                        <Storyboard>
                                            <BooleanAnimationUsingKeyFrames 
                                                 Storyboard.TargetName="TextBoxPopup" 
                                                 Storyboard.TargetProperty="IsOpen">
                                            </BooleanAnimationUsingKeyFrames>
                                        </Storyboard>
                                    </BeginStoryboard>
                                </EventTrigger.Actions>
                            </EventTrigger>
                        </TextBox.Triggers>
                    </TextBox>

                    <Popup x:Name="TextBoxPopup" ...>           
                        ...
                        <Button Content="Test Button" 
                                Command="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type telerik:RadGridView}},Path=DataContext.SaveCommand}"
                                Click="Button_Click"/>
                        <Popup.Triggers>
                            <EventTrigger RoutedEvent="Popup.LostFocus">
                                <BeginStoryboard>
                                    <Storyboard>
                                        <BooleanAnimationUsingKeyFrames 
                                             Storyboard.TargetName="TextBoxPopup" 
                                             Storyboard.TargetProperty="IsOpen">
                                            <DiscreteBooleanKeyFrame KeyTime="0:0:0" Value="False" />
                                        </BooleanAnimationUsingKeyFrames>
                                    </Storyboard>
                                </BeginStoryboard>
                            </EventTrigger>
                        </Popup.Triggers>
                    </Popup>
                </DataTemplate>
            </telerik:GridViewDataColumn.CellEditTemplate>
        </telerik:GridViewDataColumn>                
    </telerik:RadGridView.Columns>
    <telerik:RadGridView.RowDetailsTemplate>
        ...
    </telerik:RadGridView.RowDetailsTemplate>
</telerik:RadGridView>
...