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"
xmlns ="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定制的控制,并用它来代替文本框。另一种方式处理预览文本改变事件,仅接受数字字符。
请参阅下面的线程。
希望它帮助