Skip to content

Clear button doesnt work on controls directly inside ContentControl.ContentTemplate #2510

@Yoooi0

Description

@Yoooi0

It seems like when directly inside ContentControl.ContentTemplate for some reason the e.Source changes from the expected ComboBox/TextBox etc. to the button itself. The sender remains to be ComboBox/TextBox.

Traced it back to:

static void OnClearCommand(object sender, ExecutedRoutedEventArgs e)
{
switch (e.Source)
{
case DatePicker datePicker:
datePicker.SetCurrentValue(DatePicker.SelectedDateProperty, null);
break;
case TextBox textBox:
textBox.SetCurrentValue(TextBox.TextProperty, null);
break;
case ComboBox comboBox:
comboBox.SetCurrentValue(ComboBox.TextProperty, null);
comboBox.SetCurrentValue(Selector.SelectedItemProperty, null);
break;
case PasswordBox passwordBox:
passwordBox.Password = null;
break;
}
e.Handled = true;
}

Directly inside ContentControl.ContentTemplate:
devenv_2021-11-30_21-31-06

Wraped in StackPanel:
devenv_2021-11-30_21-32-07

The fix might be to just use the sender instead of e.Source?

Does not work:

                    <ContentControl>
                        <ContentControl.ContentTemplate>
                            <DataTemplate>
                                <TextBox materialDesign:TextFieldAssist.HasClearButton="True"/>
                            </DataTemplate>
                        </ContentControl.ContentTemplate>
                    </ContentControl>

Works:

                    <ContentControl>
                        <ContentControl.ContentTemplate>
                            <DataTemplate>
                                <StackPanel>
                                    <TextBox materialDesign:TextFieldAssist.HasClearButton="True"/>
                                </StackPanel>
                            </DataTemplate>
                        </ContentControl.ContentTemplate>
                    </ContentControl>

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions