Как правильно разместить всплывающее окно в моем DataGridTemplateColumn.CellEditingTemplate? - PullRequest
4 голосов
/ 01 июня 2011

У меня есть следующий XAML ..

<DataGridTemplateColumn Header="Comparison key">
    <DataGridTemplateColumn.CellEditingTemplate>
        <DataTemplate>
            <Grid DataContext="{Binding Columns}">
                <Popup x:Name="popKeyComparison" 
                                Placement="Bottom" 
                                IsOpen="True"
                                Width="200" Height="100">
                    <StackPanel Orientation="Vertical" Background="Gray" >
                        <TextBlock Text="{Binding Name}"></TextBlock>
                        <Button>
                            <TextBlock>Somethingn here</TextBlock>
                        </Button>
                    </StackPanel>
                </Popup>
            </Grid>
        </DataTemplate>
    </DataGridTemplateColumn.CellEditingTemplate>
    <DataGridTemplateColumn.CellTemplate>
        <DataTemplate>
                <TextBlock Text="{Binding KeyStatusText}" Name="txtKeyStatus">
                </TextBlock>
        </DataTemplate>                                
    </DataGridTemplateColumn.CellTemplate>

Я пытаюсь показать всплывающее окно при редактировании ячейки, это работает нормально, но проблема в том, что всплывающее окно не закрывается при нажатии за пределами DataGrid. Если, например, я перемещаю окно, всплывающее окно остается открытым, но не перемещается вместе с окном.

Кто-нибудь может помочь с решением этой проблемы? Приветствия.

Ответы [ 2 ]

0 голосов
/ 14 мая 2017

Установить Popup.StaysOpen Свойство False.

0 голосов
/ 01 апреля 2012

Используйте триггер, который установит для свойства IsOpen значение False.

...