0

我有一个带有文本框的 dialogHost,我需要 inputscope 为数字,因为使用了 TouchKeyboard,在用户控件中它工作正常,但在对话框中键盘布局不会改变。

   <materialDesign:DialogHost x:Name="dgh_addProduct" CloseOnClickAway="True" IsOpen="{Binding AddProduct}" Grid.RowSpan="4" >
            <materialDesign:DialogHost.DialogContent>
                <StackPanel Background="{DynamicResource MaterialDesignPaper}">
                    <TextBox  materialDesign:HintAssist.Hint="Cantidad" BorderThickness="2"
                                BorderBrush="{DynamicResource MaterialDesignDivider}"
                            Style="{StaticResource MaterialDesignOutlinedTextBox}" Width="200" Margin="16"
                            PreviewTextInput="TextBoxNumeric_PreviewTextInput" InputScope="Number" />
                    <StackPanel Orientation="Horizontal" HorizontalAlignment="Center" Margin="16">
                        <Button Style="{StaticResource MaterialDesignFlatDarkBgButton}"
                                Background="Red" BorderBrush="Transparent" Content="Close" Width="100"
                                Command="{Binding CloseAddProductCommand}"  Margin=" 8 0 16 0"/>
                        <Button  Style="{StaticResource MaterialDesignFlatAccentBgButton}"
                                BorderBrush="Transparent" Content="Agregar" Width="100"
                                Command="{Binding CloseAddProductCommand}" Margin=" 16 0 8 0"/>
                    </StackPanel>
                   
                </StackPanel>
            </materialDesign:DialogHost.DialogContent>


        </materialDesign:DialogHost>
4

1 回答 1

0

我发现解决方案将嵌入式样式添加到对话框主机,如下所示:

<materialDesign:DialogHost x:Name="dgh_addProduct" CloseOnClickAway="True" IsOpen="{Binding AddProduct}"
                Grid.RowSpan="4" Style="{StaticResource MaterialDesignEmbeddedDialogHost}">
            <materialDesign:DialogHost.DialogContent>
                <StackPanel Background="{DynamicResource MaterialDesignPaper}">
                    <TextBox  materialDesign:HintAssist.Hint="Cantidad" BorderThickness="2"
                                BorderBrush="{DynamicResource MaterialDesignDivider}"
                            Style="{StaticResource MaterialDesignOutlinedTextBox}" Width="200" Margin="16"
                            PreviewTextInput="TextBoxNumeric_PreviewTextInput" InputScope="Number" />
                    <StackPanel Orientation="Horizontal" HorizontalAlignment="Center" Margin="16">
                        <Button Style="{StaticResource MaterialDesignFlatDarkBgButton}"
                                Background="Red" BorderBrush="Transparent" Content="Close" Width="100"
                                Command="{Binding CloseAddProductCommand}"  Margin=" 8 0 16 0"/>
                        <Button  Style="{StaticResource MaterialDesignFlatAccentBgButton}"
                                BorderBrush="Transparent" Content="Agregar" Width="100"
                                Command="{Binding CloseAddProductCommand}" Margin=" 16 0 8 0"/>
                    </StackPanel>
                   
                </StackPanel>
            </materialDesign:DialogHost.DialogContent>


        </materialDesign:DialogHost>

现在它可以识别输入范围并更改触摸键盘布局。

于 2021-12-05T03:12:34.617 回答