返回首页

DataGrid的文本框验证数值的MVVM:您好,

我卡住了验证文本框,这是在DataGrid列。

文本框应该只接受数值。

XAML代码:

<UserControl x:Class="TestGrid.GridControl"

             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"

             xmlnsBig Grin | :-D ="http://schemas.microsoft.com/expression/blend/2008"

             mc:Ignorable="d"

           >

 

    <StackPanel >

        <DataGrid GridLinesVisibility="Vertical" ScrollViewer.HorizontalScrollBarVisibility="Auto" ScrollViewer.VerticalScrollBarVisibility="Auto"

                                      MinHeight="100" MaxHeight="300" Width="Auto" Name="McDataGrid" Grid.Row="1" Grid.Column="2" AutoGenerateColumns="False" CanUserAddRows="False"

                              CanUserDeleteRows="False" ItemsSource="{Binding Path=TestData}" DataContext="{Binding}"

                  >

            <DataGrid.Columns>

                <DataGridCheckBoxColumn Binding="{Binding Path=IsSelected, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" IsReadOnly="False">

                    <DataGridCheckBoxColumn.Header>

                        <CheckBox Name="selectallchkbox3" IsChecked="{Binding DataContext.SelectAll1, Mode=TwoWay, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type DataGrid}},

                                            UpdateSourceTrigger=PropertyChanged }"/>

 

                    </DataGridCheckBoxColumn.Header>

                </DataGridCheckBoxColumn>

                <DataGridTextColumn Header="Name" Binding="{Binding Path=Name,Mode=OneWay}" IsReadOnly="True" Width="250"/>

                <DataGridTemplateColumn>

                    <DataGridTemplateColumn.CellTemplate>

                        <DataTemplate>

                            <TextBox Text="{Binding Path=InstruQuantity, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Width="100" />

                        </DataTemplate>

                    </DataGridTemplateColumn.CellTemplate>

                </DataGridTemplateColumn>

            </DataGrid.Columns>

        </DataGrid>

    </StackPanel>

</UserControl>

和模型视图代码:
{C}
请任何人都可以帮助我,如何验证数量文本框?|恒河Patangi:VallarasuS:您可能必须创建像NumericTextBox定制的控制,并用它来代替文本框。另一种方式处理预览文本改变事件,仅接受数字字符。

请参阅下面的线程。



希望它帮助

回答