Почему моя кнопка отключена, когда я задаю команду открытия диалогового окна? - PullRequest
0 голосов
/ 13 июля 2020

Я использую Material Desgin для WPF s DialogHost, и когда я устанавливаю команду для открытия диалогового окна, моя кнопка отключается, даже со свойством IsEnabled="True".

Вот мой код XAML для кнопки:

<Button IsEnabled="True" Command="{x:Static materialDesign:DialogHost.OpenDialogCommand}" TabIndex="16" x:Name="ButtonSalvar" BorderBrush="#FF2A5500" VerticalAlignment="Bottom" HorizontalAlignment="Stretch" Grid.Column="2" Grid.ColumnSpan="2"  Height="50" Margin="10 0 20 20" Background="#FF2A5500">
    <StackPanel Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Stretch">
        <materialDesign:PackIcon Kind="Check" Width="40" Height="40" Margin="0 0 10 0" />
        <TextBlock Text="Salvar" VerticalAlignment="Center" FontSize="30" HorizontalAlignment="Center" />
    </StackPanel>
</Button>

1 Ответ

0 голосов
/ 13 июля 2020

Вам нужно поместить свою кнопку внутри DialogHost, если вы не укажете CommandTarget.

<materialDesign:DialogHost>
   <materialDesign:DialogHost.DialogContent>
       <!-- Your dialog content -->
   </materialDesign:DialogHost.DialogContent>
   <Button Command="{x:Static materialDesign:DialogHost.OpenDialogCommand}"
           Content="Show"/>
</materialDesign:DialogHost>

В качестве альтернативы, назовите хост диалога через x:Name="YourDialogHost" и установите его как CommandTarget вашей кнопки, если она не находится внутри вашего диалогового узла.

<Button Command="{x:Static materialDesign:DialogHost.OpenDialogCommand}"
        CommandTarget="{Binding ElementName=YourDialogHost}"
        Content="Show"/>
...