MaterialDesignInXamlToolkit
MaterialDesignInXamlToolkit copied to clipboard
Clear button doesnt work on controls directly inside ContentControl.ContentTemplate
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: https://github.com/MaterialDesignInXAML/MaterialDesignInXamlToolkit/blob/4bba83e69f66a6d07eb26bd43469d301685ff0dc/MaterialDesignThemes.Wpf/Internal/ClearText.cs#L41-L60
Directly inside ContentControl.ContentTemplate:

Wraped in StackPanel:

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>