質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

XAML

XAML(Extensible Application Markup Language)はWPF、Silverlight、Windows PhoneそしてWindows Store appsでユーザーインターフェースを定義するために使われるXML言語です。

WPF

Windows Presentation Foundation (WPF) は、魅力的な外観のユーザー エクスペリエンスを持つ Windows クライアント アプリケーションを作成するための次世代プレゼンテーション システムです

Q&A

解決済

3回答

786閲覧

WPFのデータグリッドで、項目が増えてしまいます

Wind

総合スコア442

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

XAML

XAML(Extensible Application Markup Language)はWPF、Silverlight、Windows PhoneそしてWindows Store appsでユーザーインターフェースを定義するために使われるXML言語です。

WPF

Windows Presentation Foundation (WPF) は、魅力的な外観のユーザー エクスペリエンスを持つ Windows クライアント アプリケーションを作成するための次世代プレゼンテーション システムです

1グッド

0クリップ

投稿2022/11/17 00:46

前提

WPFでデータグリッドを使用していますが、データグリッドに設定した項目と同時に、変数の項目が追加されてしまいます。
値も設定した項目と追加された項目の両方に重複して入ってしまいます。

実現したいこと

変数の項目が追加されず、XAMLで記述した項目に値が入力されるようにしたいです。

発生している問題・エラーメッセージ

理想の表示

NoNameTime
1山田12:34:56


現在の表示

NoNameTimeDGNoDGNameDGTime
1山田12:34:561山田12:34:56

該当のソースコード

MainWindow.xaml

XAML

1<Window x:Class="WpfApp1.MainWindow" 2 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 3 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 4 xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 5 xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 6 xmlns:local="clr-namespace:WpfApp1" 7 mc:Ignorable="d" 8 Title="MainWindow" Height="450" Width="800"> 9 <Grid> 10 <DataGrid ScrollViewer.HorizontalScrollBarVisibility="Visible" ScrollViewer.VerticalScrollBarVisibility="Auto" Margin="10" 11 Name="DGdata" IsReadOnly="true"> 12 <DataGrid.Columns> 13 <DataGridTextColumn Header="No" Binding="{Binding DG_No}"/> 14 <DataGridTextColumn Header="Name" Binding="{Binding DG_Name}"/> 15 <DataGridTextColumn Header="Time" Binding="{Binding DG_Time}"/> 16 </DataGrid.Columns> 17 </DataGrid> 18 </Grid> 19</Window> 20

MainWindows.xaml.cs

C#

1namespace WpfApp1 2{ 3 public partial class MainWindow : Window 4 { 5 public MainWindow() 6 { 7 InitializeComponent(); 8 9 ObservableCollection<ClsTest> test = new ObservableCollection<ClsTest>(); 10 for (int i = 0; i < 5; i++) 11 { 12 test.Add(new ClsTest((i+1).ToString(), "山田", "11:23:45")); 13 } 14 DGdata.ItemsSource = test; 15 } 16 17 private class ClsTest 18 { 19 public string DG_No { get; set; } 20 public string DG_Name { get; set; } 21 public string DG_Time { get; set; } 22 23 public ClsTest(string dG_No, string dG_Name, string dG_Time) 24 { 25 DG_No= dG_No; 26 DG_Name= dG_Name; 27 DG_Time= dG_Time; 28 } 29 } 30 } 31}

補足情報(FW/ツールのバージョンなど)

VisualStudio 2022
.NET Framework 4.7.1

TN8001👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kikukiku

2022/11/17 01:25

WPFは素人なので間違っているかもしれませんが、 下記の設定が足りないのかな。 <DataGrid AutoGenerateColumns="False">
Wind

2022/11/17 02:26

コメントありがとうございます。 AutoGenerateColumnsを設定する事で、追加されなくなりました。 解決済みにしたいのですが回答に書かれているのはスパムのようですので、回答に書いて頂けないでしょうか?
guest

回答3

0

ベストアンサー

WPFは素人なので間違っているかもしれませんが、
下記の設定が足りないのかな。
<DataGrid AutoGenerateColumns="False">

投稿2022/11/17 02:27

kikukiku

総合スコア514

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

Text

1<DataGrid AutoGenerateColumns="False">

投稿2022/11/17 01:29

atcoderyellow

総合スコア481

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

Text

1

投稿2022/11/17 01:28

atcoderyellow

総合スコア481

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問