Конвертер значений в ToggleButton не срабатывает с третьей попытки - PullRequest
0 голосов
/ 26 марта 2019

У меня есть конвертер значений в ToggleButton следующим образом:

 <ToggleButton  Width="200" Height="30" HorizontalAlignment="Center" >
            <ToggleButton.Style>
                <Style TargetType="{x:Type ToggleButton}">
                    <Setter Property="Template">
                        <Setter.Value>
                            <ControlTemplate TargetType="{x:Type ToggleButton}">
                                <Grid x:Name="Chrome" Background="{TemplateBinding Background}" SnapsToDevicePixels="true">
                                    <ContentPresenter Margin="{TemplateBinding Padding}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
                                    <TextBlock Name="txtBlock"/>
                                </Grid>
                                <ControlTemplate.Triggers>
                                    <Trigger Property="IsChecked" Value="True">
                                        <Setter Property="Content" >
                                            <Setter.Value>
                                                <MultiBinding Converter="{StaticResource DeleteRow}"/>
                                            </Setter.Value>
                                        </Setter>
                                    </Trigger>

                                </ControlTemplate.Triggers>
                            </ControlTemplate>
                        </Setter.Value>
                    </Setter>
                </Style>
            </ToggleButton.Style>
        </ToggleButton>

Конвертер значений в настоящее время пуст, просто отображается следующее сообщение:

Imports System.Data
Imports System.Globalization

Public Class DeleteRow
    Implements IMultiValueConverter

    Public Function Convert(values() As Object, targetType As Type, parameter As Object, culture As CultureInfo) As Object Implements IMultiValueConverter.Convert
        MsgBox("Hello")

    End Function

    Public Function ConvertBack(value As Object, targetTypes() As Type, parameter As Object, culture As CultureInfo) As Object() Implements IMultiValueConverter.ConvertBack
        Throw New NotImplementedException()
    End Function
End Class

Проблема в том, что когдаНажмите кнопку при первом запуске преобразователя.Нажатие на кнопку второй раз, очевидно, устанавливает IsChecked на False.Но я ожидаю, что когда я нажму на него в третий раз, когда его состояние IsChecked будет ложным, оно должно сработать, но это не так.

Есть идеи?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...