MaterialDesignInXamlToolkit icon indicating copy to clipboard operation
MaterialDesignInXamlToolkit copied to clipboard

Clear button doesnt work on controls directly inside ContentControl.ContentTemplate

Open Yoooi0 opened this issue 4 years ago • 0 comments

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: 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>

Yoooi0 avatar Nov 30 '21 20:11 Yoooi0