前提・実現したいこと
DataTableがバインドされているMatrixな入力をするDataGridで数値以外が入力された際に
エラー表示をするにはどのようにすれば良いでしょうか。
※行数、列数はBindされるデータにより変化する事を想定しています。
以下の様なMatrixで「a」を入力した際にセルを赤枠で表示したい
ViewModel
1public class MainWindowViewModel : BindableBase 2{ 3 public DataTable DetailData { get; set; } 4 5 public MainWindowViewModel() 6 { 7 this.DetailData = this.GetData(); 8 } 9 10 private DataTable GetData() 11 { 12 var dt = new DataTable(); 13 dt.Columns.Add("Color"); 14 dt.Columns.Add("Size1"); 15 dt.Columns.Add("Size2"); 16 dt.Columns.Add("Size3"); 17 18 var dr = dt.NewRow(); 19 dr[0] = "レッド"; 20 dt.Rows.Add(dr); 21 22 23 var dr1 = dt.NewRow(); 24 dr1[0] = "ブルー"; 25 dt.Rows.Add(dr1); 26 27 28 var dr2 = dt.NewRow(); 29 dr2[0] = "イエロー"; 30 dt.Rows.Add(dr2); 31 32 return dt; 33 } 34} 35
XAML
1<Window x:Class="BlankApp1.Views.MainWindow" 2 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 3 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 4 xmlns:prism="http://prismlibrary.com/" 5 Width="525" 6 Height="350" 7 prism:ViewModelLocator.AutoWireViewModel="True"> 8 <Grid> 9 <DataGrid CanUserAddRows="False" 10 CanUserDeleteRows="False" 11 CanUserSortColumns="False" 12 FontSize="14" 13 GridLinesVisibility="All" 14 HorizontalGridLinesBrush="LightGray" 15 ItemsSource="{Binding DetailData}" 16 RowHeight="21" 17 SelectionMode="Single" 18 SelectionUnit="Cell" 19 VerticalGridLinesBrush="LightGray" /> 20 </Grid> 21</Window>

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/09/07 03:01
2018/09/07 03:06
退会済みユーザー
2018/09/07 03:12
2018/09/07 03:21
退会済みユーザー
2018/09/10 21:03