WPF Material 设计文本框正在通过幻灯片显示。有解决方法吗?

WPF Material Design Textbox is showing through slides. Is there a workaround?

我尝试在 WPF 中使用文本框 Material 设计过渡幻灯片。即使更改幻灯片,文本框也可见。

下一张幻灯片的文本框中的虚线可见,反之亦然。

还有其他人遇到过这个问题吗?我可以使用任何解决方法吗?

这是我用过的xaml。我正在使用过渡控件,尽管我相信当与文本框一起使用时,脚蹼控件会产生类似的效果。

<Grid>
    <materialDesign:Transitioner SelectedIndex="0">
        <materialDesign:TransitionerSlide>
            <StackPanel HorizontalAlignment="Center">
                <TextBlock Text="Hello, this is my first page!" Margin="10"/>
                <TextBox materialDesign:HintAssist.Hint="Type your first text here!" Margin="10"/>
                <Button Command="{x:Static materialDesign:Transitioner.MoveNextCommand}" Content=">" HorizontalAlignment="Center" Margin="10"/>
            </StackPanel>
        </materialDesign:TransitionerSlide>
        <materialDesign:TransitionerSlide>
            <StackPanel HorizontalAlignment="Center">
                <TextBlock Text="Hello, this is my 2nd page!" Margin="15"/>
                <TextBox materialDesign:HintAssist.Hint="Type your second text here!" Margin="15"/>
                <Button Command="{x:Static materialDesign:Transitioner.MovePreviousCommand}" Content="&lt;" HorizontalAlignment="Center" Margin="15"/>
            </StackPanel>
        </materialDesign:TransitionerSlide>
    </materialDesign:Transitioner>
</Grid>

我认为问题 可能 出在文本框被禁用时出现的虚线中,因此可能通过删除它,文本框将不再显示在幻灯片中。但这只是我的猜测。

感谢任何帮助!

您好,问题出在您的保证金上,请像这样将您所有的保证金设置为 10

<Grid>
    <materialDesign:Transitioner SelectedIndex="0">
        <materialDesign:TransitionerSlide>
            <StackPanel HorizontalAlignment="Center">
                <TextBlock Text="Hello, this is my first page!" Margin="10"/>
                <TextBox materialDesign:HintAssist.Hint="Type your first text here!" Margin="10"/>
                <Button Command="{x:Static materialDesign:Transitioner.MoveNextCommand}" Content=">" HorizontalAlignment="Center" Margin="10"/>
            </StackPanel>
        </materialDesign:TransitionerSlide>
        <materialDesign:TransitionerSlide>
            <StackPanel HorizontalAlignment="Center">
                <TextBlock Text="Hello, this is my 2nd page!" Margin="10"/>
                <TextBox materialDesign:HintAssist.Hint="Type your second text here!" Margin="10"/>
                <Button Command="{x:Static materialDesign:Transitioner.MovePreviousCommand}" Content="&lt;" HorizontalAlignment="Center" Margin="15"/>
            </StackPanel>
        </materialDesign:TransitionerSlide>
    </materialDesign:Transitioner>
</Grid>

希望对你有帮助

我尝试了几种方法并找到了解决方案

请在这样的文本框中设置BorderThickness="0"

<TextBox materialDesign:HintAssist.Hint="Type your second text here!" Margin="10"  BorderThickness="0"/>

最好的方法,请参考这个

尝试将以下隐式样式添加到您的 App.xaml 或 window:

<Style TargetType="materialDesign:BottomDashedLineAdorner">
    <Setter Property="Visibility" Value="Collapsed" />
</Style>

将有问题的控件包装在:

<AdornerDecorator>
</AdornerDecorator>

似乎有效。