Кнопка Command внутри всплывающего окна, привязка не работает - PullRequest
0 голосов
/ 02 июля 2019

У меня есть кнопка (x: name = "MyButton") внутри PopuBox в wpf.

<materialDesign:PopupBox PlacementMode="BottomAndAlignRightEdges" 
                         StaysOpen="True"  
                         Padding="0 0 -1 0"
                         VerticalAlignment="Center">
        <materialDesign:PopupBox.ToggleContent>
                <materialDesign:PackIcon Kind="Calendar" 
                                         Foreground="{StaticResource PrimaryHueLightBrush}"
                                         Width="20" 
                                         Height="20"
                                         VerticalAlignment="Center"/>
                      </materialDesign:PopupBox.ToggleContent>
                              <Button Content="Ok"
                                      x:Name ="MyButton"
                                      Style="{DynamicResource MaterialDesignFlatButton}"
                                      Margin="0 5 40 5"
                                      Command="{Binding ClosePopUp}"/>                                    
</materialDesign:PopupBox>

Проблема в том, что когда я нажимаю кнопку (MyButton), команда не работает. Я думаю, что это связано с привязкой. Каждая кнопка вне всплывающего окна работает правильно.

Есть идеи, что случилось?

EDIT

PopupBox находится внутри шаблона данных

1 Ответ

0 голосов
/ 02 июля 2019

Я решил, заменив Command="{Binding ClosePopUp} на Command="{Binding DataContext.ClosePopUp, RelativeSource={RelativeSource AncestorType=UserControl}}"

Текст данных кнопки должен быть равен ее родительскому элементу.

...