DataGridそのものをWindow上ドラッグさせたい場合、どうすればいいでしょうか。
以下の様に、DataGridタグのNameを"dataGrid"にしてxaml.cs上でdataGrid.ItemsSource でデータを入れれば良いだろうと思っていたのですが、エラーCS0103"現在のコンテキストにdataGridとという名前は存在しません"と出てしまいます。
尚、DataGridタグではなく、Imageタグでの場合はドラッグは正常に実行できます。
解決策、もしくはとっかかりでもご教授いただければ幸いです。
C#
1 <DataGrid Name="dataGrid" AutoGenerateColumns="False">
以下ソース
<MainWindow.xaml>
xaml
1 2 <Canvas Margin="10" Background="AliceBlue"> 3 4 <Thumb Width="150" Height="50" 5 Canvas.Left="0" Canvas.Top="0" 6 DragStarted="Thumb_DragStarted" 7 DragCompleted="Thumb_DragCompleted" 8 DragDelta="Thumb_DragDelta"> 9 <Thumb.Template> 10 <ControlTemplate> 11 <Border x:Name="Thumb_Border" BorderBrush="Red" BorderThickness="0"> 12 <!-- <Image Source="testimage.png"/>--> 13 <DataGrid Name="dataGrid" AutoGenerateColumns="False"> 14 <DataGrid.Columns> 15 <DataGridTextColumn Header="Name" Binding="{Binding Name}"></DataGridTextColumn> 16 <DataGridTextColumn Header="Gender" Binding="{Binding Gender}"></DataGridTextColumn> 17 <DataGridTextColumn Header="Age" Binding="{Binding Age}"></DataGridTextColumn> 18 <DataGridTextColumn Header="AuthMember" Binding="{Binding AuthMember}"></DataGridTextColumn> 19 </DataGrid.Columns> 20 </DataGrid> 21 </Border> 22 </ControlTemplate> 23 </Thumb.Template> 24 </Thumb> 25 </Canvas> 26
<MainWindow.xaml.cs>
C#
1 public MainWindow() 2 { 3 InitializeComponent(); 4 5 // 適当なデータ100件生成する 6 var data = new ObservableCollection<Person>( 7 Enumerable.Range(1, 100).Select(i => new Person 8 { 9 Name = "田中 太郎" + i, 10 Gender = i % 2 == 0 ? Gender.Men : Gender.Women, 11 Age = 20 + i % 50, 12 AuthMember = i % 5 == 0 13 })); 14 // DataGridに設定する 15 dataGrid.ItemsSource = data; 16 } 17 18 19 // 性別 20 public enum Gender 21 { 22 None, 23 Men, 24 Women 25 } 26 27 // DataGridに表示するデータ 28 public class Person 29 { 30 public string Name { get; set; } 31 public Gender Gender { get; set; } 32 public int Age { get; set; } 33 public bool AuthMember { get; set; } 34 }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/11 08:21