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

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

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

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

WPF

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

Q&A

解決済

1回答

1774閲覧

WPFのTextBoxの取扱

zumizumi

総合スコア13

C#

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

WPF

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

0グッド

0クリップ

投稿2018/04/04 09:09

前提・実現したいこと

WPFで顧客管理システムを作成したいです。
listView内に表示されている言葉を、TexBox上に表示後
編集を行いたいです。

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

https://tnakamura.hatenablog.com/entry/20080929/1222743177
を参考にさせてもらいながら、多段表示は出来たのですが、
肝心のListVewを選択した際に任意のTextBoxに表示が出来なくて困っています

該当のソースコード

XAML

1 <Grid> 2 <ListView x:Name="listView1" ItemsSource="{Binding}" Margin="0,0,197,0"> 3 <ListView.Resources> 4 5 <!--得意先列ヘッダ用テンプレート--> 6 <DataTemplate x:Key="customerHeaderTemplate"> 7 <StackPanel> 8 <Label Content="得意先コード"/> 9 <Label Content="得意先名"/> 10 </StackPanel> 11 </DataTemplate> 12 13 <!--得意先セル用テンプレート--> 14 <DataTemplate x:Key="customerCellTemplate"> 15 <StackPanel> 16 <Label Content="{Binding Path=CustomerCode}"/> 17 <Label Content="{Binding Path=CustomerName}"/> 18 </StackPanel> 19 </DataTemplate> 20 21 <!--伝票種列ヘッダ用テンプレート--> 22 <DataTemplate x:Key="kindHeaderTemplate"> 23 <StackPanel> 24 <Label Content="伝票種"/> 25 <Label Content="伝票番号フラグ"/> 26 </StackPanel> 27 </DataTemplate> 28 29 <!--伝票種セル用テンプレート--> 30 <DataTemplate x:Key="kindCellTemplate"> 31 <StackPanel> 32 <Label Content="{Binding Path=Kind}"/> 33 <Label Content="{Binding Path=NoFlag}"/> 34 </StackPanel> 35 </DataTemplate> 36 37 </ListView.Resources> 38 <ListView.View> 39 <GridView> 40 <!--列を追加。--> 41 <!--DisplayMemberBinding を使って、列に表示する Slip クラスのプロパティを指定しています--> 42 <GridViewColumn Header="伝票日付" DisplayMemberBinding="{Binding Path=Date}"/> 43 44 <!--伝票種列ヘッダ用のテンプレートと伝票種セル用のテンプレートを指定--> 45 <GridViewColumn HeaderTemplate="{StaticResource kindHeaderTemplate}" CellTemplate="{StaticResource kindCellTemplate}"/> 46 47 <GridViewColumn Header="伝票番号" DisplayMemberBinding="{Binding Path=No}"/> 48 49 <!--得意先列ヘッダ用のテンプレートと得意先セル用のテンプレートを指定--> 50 <GridViewColumn HeaderTemplate="{StaticResource customerHeaderTemplate}" CellTemplate="{StaticResource customerCellTemplate}"/> 51 </GridView> 52 </ListView.View> 53 </ListView> 54 <TextBox HorizontalAlignment="Left" Height="23" Margin="514,94,0,0" TextWrapping="Wrap" Text="TextBox" VerticalAlignment="Top" Width="120"/> 55 </Grid>

C#

namespace WpfApp27 { /// 伝票を表すクラス public class Slip { public DateTime Date { get; set; } public int Kind { get; set; } public int NoFlag { get; set; } public long No { get; set; } public string CustomerCode { get; set; } public string CustomerName { get; set; } } public partial class Window1 : Window { public Window1() { InitializeComponent(); // ListView に表示するデータを作成 Slip[] slips = new Slip[]{ new Slip(){Date=DateTime.Today,Kind=1,NoFlag=1,No=1,CustomerCode="0001", CustomerName="田中"}, new Slip(){Date=DateTime.Today,Kind=1,NoFlag=1,No=2,CustomerCode="0002", CustomerName="佐藤"}, new Slip(){Date=DateTime.Today,Kind=1,NoFlag=1,No=3,CustomerCode="0003", CustomerName="高橋"}, new Slip(){Date=DateTime.Today,Kind=1,NoFlag=1,No=4,CustomerCode="0004", CustomerName="加藤"}, new Slip(){Date=DateTime.Today,Kind=1,NoFlag=1,No=5,CustomerCode="0005", CustomerName="山内"} }; // ListView にセットする listView1.DataContext = slips; } } }

試したこと

ネットで検索しましたが結局わからずここで質問させていただきました。

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

Windows10
visual studio 2017

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

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

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

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

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

guest

回答1

0

ベストアンサー

TextBoxへのBindingがされていません。

以下のコードではどうでしょうか。

XML

1 2<TextBox HorizontalAlignment="Left" Height="23" Margin="514,94,0,0" TextWrapping="Wrap" Text="{Binding Path=SelectedItem.CustomerName,ElementName=listView1}" VerticalAlignment="Top" Width="120"/>

投稿2018/04/04 13:36

nanase

総合スコア123

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

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

zumizumi

2018/04/05 00:23

ありがとうございます!想像通りの動きをしました。 素早い回答ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問