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

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

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

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

WPF

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

Q&A

解決済

1回答

2623閲覧

WPF Drag&Drop後に複数のコントロールに対して位置調整を行いたい

k_yanase

総合スコア10

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

WPF

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

0グッド

0クリップ

投稿2016/06/21 05:33

###前提・実現したいこと
WPFでの質問です

http://d.hatena.ne.jp/CoMo/20110330/1301499635
上記URLを参考にしながらDrag&Dropの処理を作成しています
実現したいことは参考URLの機能に整列ボタンを追加して
生成されたthumbコントロールを任意の場所に移動したいと考えています

###試したこと
動的に生成されるthumbの親コントロールにbindさせました

<ItemsControl Name="DragList" Width="900" ItemsSource="{Binding}"> <ItemsControl.ItemsPanel> <ItemsPanelTemplate> <Canvas/> </ItemsPanelTemplate> </ItemsControl.ItemsPanel> <ItemsControl.ItemContainerStyle> <Style TargetType="ContentPresenter"> <Setter Property="Canvas.Left" Value="{Binding PointX}"/> <Setter Property="Canvas.Top" Value="{Binding PointY}"/> </Style> </ItemsControl.ItemContainerStyle> <ItemsControl.ItemTemplate> <DataTemplate> <Thumb DragDelta="Thumb_DragDelta"> <Thumb.Template> <ControlTemplate> <StackPanel Orientation="Vertical"> <Rectangle Fill="LightBlue" Stroke="Blue" Width="100" Height="60" /> </StackPanel> </ControlTemplate> </Thumb.Template> </Thumb> </DataTemplate> </ItemsControl.ItemTemplate> </ItemsControl>
public class GraphData { public int PointX { get; set; } public int PointY { get; set; } } public ObservableCollection<GraphData> GraphDataList; public MainWindow() { InitializeComponent(); DragList.ItemsSource = GraphDataList; } //追加ボタン private void Button_Click(object sender, RoutedEventArgs e) { GraphData addItems = new GraphData(); addItems.PointX = 0 + (GraphDataList.Count * 110); addItems.PointY = 10; GraphDataList.Add(addItems); } //整列ボタン private void Button2_Click(object sender, RoutedEventArgs e) { foreach (var item in GraphDataList) { item.PointX += 10; item.PointY += 10; } }

###問題点
整列ボタンを押しても生成されたthumbコントロールが移動しません
どのような対応を行えばthumbコントロールを操作できるかご教示願えないでしょうか

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

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

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

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

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

guest

回答1

0

ベストアンサー

GraphDataクラスでINotifyPropertyChangedインターフェイスを実装すればViewに反映されると思います。

投稿2016/06/21 06:48

TAKA_0921

総合スコア234

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

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

k_yanase

2016/06/21 07:25

実装したところ無事に反映されました 回答ありがとうございます
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問