質問編集履歴

3

意図的に内容を抹消する行為にあたるため

2021/09/13 11:38

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -1,5 +1,325 @@
1
+ ### 前提・実現したいこと
2
+
3
+ ボタンを押したら多角形の図形をWPFのimage上に表示したいと考えております
4
+
5
+ ネット上を「c# WPF MVVM 図形」等のキーワードで探したのですが
6
+
7
+ これという内容見つけられませんでした。
8
+
9
+ 画像表示と同じ手法でBitmapに描画したデータを代入すれば
10
+
11
+ 可能と考えたのですが、うまく行きませんでした。
12
+
13
+ (https://teratail.com/questions/349227?nli=60ed5468-1ed8-4b74-8894-4a3c0a040114#reply-478633)
14
+
15
+ MVVM形式での多角形の図形表示について参考になるページ、
16
+
17
+ アドバイス等よろしくお願いします。
18
+
19
+ 環境: Win10 、VS2019、C#
20
+
21
+ フレームワーク:Prism、ReactiveProperty
22
+
23
+ ### MainWindow.xaml
24
+
25
+ ```ここに言語名を入力
26
+
27
+ <Window x:Class="DrawCircle.Views.MainWindow"
28
+
29
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
30
+
31
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
32
+
33
+ xmlns:prism="http://prismlibrary.com/"
34
+
35
+ prism:ViewModelLocator.AutoWireViewModel="True"
36
+
37
+ Title="{Binding Title}" Height="400" Width="500"
38
+
39
+ WindowStartupLocation="CenterScreen">
40
+
41
+ <Grid>
42
+
43
+ <StackPanel>
44
+
45
+ <Button Content="画像表示" Command="{Binding ImageDispLayButton}" />
46
+
47
+ <Image Stretch="None" Source="{Binding Bitmap2.Value}" Height="381" Width="496" />
48
+
49
+ <ContentControl prism:RegionManager.RegionName="ContentRegion" />
50
+
51
+ </StackPanel>
52
+
53
+ </Grid>
54
+
55
+ </Window>
56
+
57
+ ```
58
+
59
+ ### MainWindowViewModel.cs
60
+
61
+ ```ここに言語名を入力
62
+
63
+ using Prism.Mvvm;
64
+
65
+ using System.Windows;
66
+
67
+ using Reactive.Bindings;
68
+
69
+ using System.Windows.Media.Imaging;
70
+
71
+ using System;
72
+
73
+ using Prism.Commands;
74
+
75
+ using System.Drawing;
76
+
77
+ namespace DrawCircle.ViewModels
78
+
79
+ {
80
+
81
+ public class MainWindowViewModel : BindableBase
82
+
83
+ {
84
+
85
+ public ReactiveProperty<Bitmap> Bitmap2 { get; } = new ReactiveProperty<Bitmap>();
86
+
87
+ public ReactiveCommand ImageDispLayButton { get; } = new ReactiveCommand();
88
+
89
+ public MainWindowViewModel()
90
+
91
+ {
92
+
93
+ //ReactiveCommandの宣言
94
+
95
+ ImageDispLayButton.Subscribe(ImageDispLayButtonExe);
96
+
97
+ }
98
+
99
+ /// <summary>
100
+
101
+ /// ボタン押下で任意の画像を表示する
102
+
103
+ /// </summary>
104
+
105
+ private void ImageDispLayButtonExe()
106
+
107
+ {
108
+
109
+ //図形表示
110
+
111
+ Bitmap canvas = new Bitmap(200, 200);
112
+
113
+ Graphics g = Graphics.FromImage(canvas);
114
+
115
+ g.FillRectangle(Brushes.Black, 10, 20, 100, 80);
116
+
117
+ Bitmap2.Value = canvas;
118
+
119
+ MessageBox.Show("図形描画");
120
+
121
+ g.Dispose();
122
+
123
+ }
124
+
125
+ }
126
+
127
+ }
128
+
129
+ ```
130
+
131
+ ### 試したこと
132
+
133
+ 非MVVMでの図形描画ならGridの子要素にAddする形で図形をWPFに
134
+
135
+ 表示できることは確認済です。
136
+
1
- まことにすみませんが事情により削除することとなりました
137
+ imageコントロール図形描画をすること自体、考え違いを
138
+
2
-
139
+ しているのでしょうか?
140
+
3
-
141
+ ### 補足情報(FW/ツールのバージョンなど)
142
+
4
-
143
+ 環境: Win10 、VS2019、C#
144
+
145
+ フレームワーク:Prism、ReactiveProperty
146
+
147
+ ### 2021/07/15 追記
148
+
149
+ コメント欄に書いていたソースをこちらにの追加
150
+
151
+ 実現したいことは MainWindow.xaml.cs に実装している MenuItem7_Click() の多角形描画処理を
152
+
153
+ MVVM化して描画させたいと思っています
154
+
155
+ ### 実装に際しての不明点
156
+
157
+ どのようにコーディングすればWPF側に図を表示できるのかわからない状態です。
158
+
159
+ 今の私の理解では、JPG画像のようにImageにセットすればよいのか、追記したサンプルコードのように
160
+
161
+ 子要素の追加すればよいのか、よく理解できていません。
162
+
163
+ ### MainWindow.xaml
164
+
165
+ ```ここに言語名を入力
166
+
167
+ <Window x:Class="WpfApp1.MainWindow"
168
+
169
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
170
+
171
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
172
+
173
+ xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
174
+
175
+ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
176
+
177
+ xmlns:local="clr-namespace:WpfApp1"
178
+
179
+ mc:Ignorable="d"
180
+
181
+ Title="MainWindow" Height="500" Width="700">
182
+
183
+ <Grid>
184
+
185
+ <StackPanel Name="StackPanel1" VerticalAlignment="Top" Orientation="Horizontal">
186
+
187
+ <Menu Height="23" Name="Menu1">
188
+
189
+ <MenuItem Header="TEST項目" Name="MenuItem1">
190
+
191
+ <MenuItem Header="クリア" Name="MenuItem0" Click="MenuItem0_Click"/>
192
+
193
+ <MenuItem Header="サンプル多角形" Name="MenuItem7" Click="MenuItem7_Click"/>
194
+
195
+ </MenuItem>
196
+
197
+ </Menu>
198
+
199
+ </StackPanel>
200
+
201
+ <Grid Name="Grid1">
202
+
203
+ </Grid>
204
+
205
+ </Grid>
206
+
207
+ </Window>
208
+
209
+ ```
210
+
211
+ ### MainWindow.xaml.cs
212
+
213
+ ```ここに言語名を入力
214
+
215
+ using System;
216
+
217
+ using System.Collections.Generic;
218
+
219
+ using System.Linq;
220
+
221
+ using System.Text;
222
+
223
+ using System.Threading.Tasks;
224
+
225
+ using System.Windows;
226
+
227
+ using System.Windows.Controls;
228
+
229
+ using System.Windows.Data;
230
+
231
+ using System.Windows.Documents;
232
+
233
+ using System.Windows.Input;
234
+
235
+ using System.Windows.Media;
236
+
237
+ using System.Windows.Media.Imaging;
238
+
239
+ using System.Windows.Navigation;
240
+
241
+ using System.Windows.Shapes;
242
+
243
+ namespace WpfApp1
244
+
5
-
245
+ {
246
+
247
+ /// <summary>
248
+
249
+ /// Interaction logic for MainWindow.xaml
250
+
251
+ /// </summary>
252
+
253
+ public partial class MainWindow : Window
254
+
255
+ {
256
+
257
+ public MainWindow()
258
+
259
+ {
260
+
261
+ InitializeComponent();
262
+
263
+ }
264
+
265
+ private void MenuItem0_Click(object sender, RoutedEventArgs e)
266
+
267
+ {
268
+
269
+ Grid1.Children.Clear(); ////描画領域の初期化
270
+
271
+ }
272
+
273
+ /// <summary>
274
+
275
+ /// 多角形描画
276
+
277
+ /// </summary>
278
+
279
+ /// <param name="sender"></param>
280
+
281
+ /// <param name="e"></param>
282
+
283
+ private void MenuItem7_Click(object sender, RoutedEventArgs e)
284
+
285
+ {
286
+
287
+ Path myPath5 = new Path();
288
+
289
+ myPath5.Stroke = Brushes.Black; ////ブラシ色
290
+
291
+ myPath5.Fill = Brushes.RoyalBlue; ////塗りつぶし色
292
+
293
+ myPath5.StrokeThickness = 1; ////ブラシ太さ設定
294
+
295
+ PathFigure myPathFigure = new PathFigure();
296
+
297
+
298
+
299
+ ////ひし形を描画
300
+
301
+ myPathFigure.StartPoint = new Point(100, 80); ////描画の開始座標
302
+
303
+ myPathFigure.Segments.Add(new LineSegment(new Point(150, 130), true));
304
+
305
+ myPathFigure.Segments.Add(new LineSegment(new Point(100, 180), true));
306
+
307
+ myPathFigure.Segments.Add(new LineSegment(new Point(50, 130), true));
308
+
309
+ myPathFigure.Segments.Add(new LineSegment(new Point(100, 80), true));
310
+
311
+ PathGeometry myPathGeometry = new PathGeometry();
312
+
313
+ myPathGeometry.Figures.Add(myPathFigure);
314
+
315
+ myPath5.Data = myPathGeometry;
316
+
317
+ Grid1.Children.Add(myPath5);
318
+
319
+ }
320
+
321
+ }
322
+
323
+ }
324
+
325
+ ```

2

都合により削除することとなりました。

2021/09/13 11:38

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -1,377 +1,5 @@
1
- ### 前提・実現したいこと
2
-
3
- ボタンを押したら多角形の図形をWPFのimage上に表示したいと考えております
4
-
5
- ネット上を「c# WPF MVVM 図形」等のキーワードで探したのですが
1
+ まことにすみませんが事情により削除することとなりました
6
-
7
- これという内容見つけられませんでした。
8
2
 
9
3
 
10
4
 
11
- 画像表示と同じ手法でBitmapに描画したデータを代入すれば
12
-
13
- 可能と考えたのですが、うまく行きませんでした。
14
-
15
- (https://teratail.com/questions/349227?nli=60ed5468-1ed8-4b74-8894-4a3c0a040114#reply-478633)
16
-
17
-
18
-
19
- MVVM形式での多角形の図形表示について参考になるページ、
20
-
21
- アドバイス等よろしくお願いします。
22
-
23
-
24
-
25
- 環境: Win10 、VS2019、C#
26
-
27
- フレームワーク:Prism、ReactiveProperty
28
-
29
-
30
-
31
- ### MainWindow.xaml
32
-
33
-
34
-
35
- ```ここに言語名を入力
36
-
37
- <Window x:Class="DrawCircle.Views.MainWindow"
38
-
39
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
40
-
41
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
42
-
43
- xmlns:prism="http://prismlibrary.com/"
44
-
45
- prism:ViewModelLocator.AutoWireViewModel="True"
46
-
47
- Title="{Binding Title}" Height="400" Width="500"
48
-
49
- WindowStartupLocation="CenterScreen">
50
-
51
- <Grid>
52
-
53
- <StackPanel>
54
-
55
- <Button Content="画像表示" Command="{Binding ImageDispLayButton}" />
56
-
57
-
58
-
59
- <Image Stretch="None" Source="{Binding Bitmap2.Value}" Height="381" Width="496" />
60
-
61
-
62
-
63
- <ContentControl prism:RegionManager.RegionName="ContentRegion" />
64
-
65
- </StackPanel>
66
-
67
- </Grid>
68
-
69
- </Window>
70
-
71
- ```
72
-
73
-
74
-
75
- ### MainWindowViewModel.cs
76
-
77
-
78
-
79
- ```ここに言語名を入力
80
-
81
- using Prism.Mvvm;
82
-
83
- using System.Windows;
84
-
85
- using Reactive.Bindings;
86
-
87
- using System.Windows.Media.Imaging;
88
-
89
- using System;
90
-
91
- using Prism.Commands;
92
-
93
- using System.Drawing;
94
-
95
-
96
-
97
- namespace DrawCircle.ViewModels
98
-
99
- {
5
+
100
-
101
- public class MainWindowViewModel : BindableBase
102
-
103
- {
104
-
105
- public ReactiveProperty<Bitmap> Bitmap2 { get; } = new ReactiveProperty<Bitmap>();
106
-
107
-
108
-
109
- public ReactiveCommand ImageDispLayButton { get; } = new ReactiveCommand();
110
-
111
-
112
-
113
- public MainWindowViewModel()
114
-
115
- {
116
-
117
- //ReactiveCommandの宣言
118
-
119
- ImageDispLayButton.Subscribe(ImageDispLayButtonExe);
120
-
121
- }
122
-
123
-
124
-
125
- /// <summary>
126
-
127
- /// ボタン押下で任意の画像を表示する
128
-
129
- /// </summary>
130
-
131
- private void ImageDispLayButtonExe()
132
-
133
- {
134
-
135
- //図形表示
136
-
137
- Bitmap canvas = new Bitmap(200, 200);
138
-
139
- Graphics g = Graphics.FromImage(canvas);
140
-
141
- g.FillRectangle(Brushes.Black, 10, 20, 100, 80);
142
-
143
- Bitmap2.Value = canvas;
144
-
145
-
146
-
147
- MessageBox.Show("図形描画");
148
-
149
-
150
-
151
- g.Dispose();
152
-
153
- }
154
-
155
- }
156
-
157
- }
158
-
159
- ```
160
-
161
- ### 試したこと
162
-
163
- 非MVVMでの図形描画ならGridの子要素にAddする形で図形をWPFに
164
-
165
- 表示できることは確認済です。
166
-
167
- imageコントロールに図形描画をすること自体、考え違いを
168
-
169
- しているのでしょうか?
170
-
171
-
172
-
173
- ### 補足情報(FW/ツールのバージョンなど)
174
-
175
- 環境: Win10 、VS2019、C#
176
-
177
- フレームワーク:Prism、ReactiveProperty
178
-
179
-
180
-
181
- ### 2021/07/15 追記
182
-
183
- コメント欄に書いていたソースをこちらにの追加
184
-
185
-
186
-
187
- 実現したいことは MainWindow.xaml.cs に実装している MenuItem7_Click() の多角形描画処理を
188
-
189
- MVVM化して描画させたいと思っています
190
-
191
-
192
-
193
- ### 実装に際しての不明点
194
-
195
- どのようにコーディングすればWPF側に図を表示できるのかわからない状態です。
196
-
197
- 今の私の理解では、JPG画像のようにImageにセットすればよいのか、追記したサンプルコードのように
198
-
199
- 子要素の追加すればよいのか、よく理解できていません。
200
-
201
-
202
-
203
- ### MainWindow.xaml
204
-
205
- ```ここに言語名を入力
206
-
207
- <Window x:Class="WpfApp1.MainWindow"
208
-
209
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
210
-
211
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
212
-
213
- xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
214
-
215
- xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
216
-
217
- xmlns:local="clr-namespace:WpfApp1"
218
-
219
- mc:Ignorable="d"
220
-
221
- Title="MainWindow" Height="500" Width="700">
222
-
223
- <Grid>
224
-
225
- <StackPanel Name="StackPanel1" VerticalAlignment="Top" Orientation="Horizontal">
226
-
227
- <Menu Height="23" Name="Menu1">
228
-
229
- <MenuItem Header="TEST項目" Name="MenuItem1">
230
-
231
- <MenuItem Header="クリア" Name="MenuItem0" Click="MenuItem0_Click"/>
232
-
233
- <MenuItem Header="サンプル多角形" Name="MenuItem7" Click="MenuItem7_Click"/>
234
-
235
- </MenuItem>
236
-
237
- </Menu>
238
-
239
- </StackPanel>
240
-
241
-
242
-
243
- <Grid Name="Grid1">
244
-
245
- </Grid>
246
-
247
- </Grid>
248
-
249
- </Window>
250
-
251
- ```
252
-
253
-
254
-
255
- ### MainWindow.xaml.cs
256
-
257
- ```ここに言語名を入力
258
-
259
- using System;
260
-
261
- using System.Collections.Generic;
262
-
263
- using System.Linq;
264
-
265
- using System.Text;
266
-
267
- using System.Threading.Tasks;
268
-
269
- using System.Windows;
270
-
271
- using System.Windows.Controls;
272
-
273
- using System.Windows.Data;
274
-
275
- using System.Windows.Documents;
276
-
277
- using System.Windows.Input;
278
-
279
- using System.Windows.Media;
280
-
281
- using System.Windows.Media.Imaging;
282
-
283
- using System.Windows.Navigation;
284
-
285
- using System.Windows.Shapes;
286
-
287
-
288
-
289
- namespace WpfApp1
290
-
291
- {
292
-
293
- /// <summary>
294
-
295
- /// Interaction logic for MainWindow.xaml
296
-
297
- /// </summary>
298
-
299
- public partial class MainWindow : Window
300
-
301
- {
302
-
303
- public MainWindow()
304
-
305
- {
306
-
307
- InitializeComponent();
308
-
309
- }
310
-
311
-
312
-
313
- private void MenuItem0_Click(object sender, RoutedEventArgs e)
314
-
315
- {
316
-
317
- Grid1.Children.Clear(); ////描画領域の初期化
318
-
319
- }
320
-
321
-
322
-
323
- /// <summary>
324
-
325
- /// 多角形描画
326
-
327
- /// </summary>
328
-
329
- /// <param name="sender"></param>
330
-
331
- /// <param name="e"></param>
332
-
333
- private void MenuItem7_Click(object sender, RoutedEventArgs e)
334
-
335
- {
336
-
337
- Path myPath5 = new Path();
338
-
339
- myPath5.Stroke = Brushes.Black; ////ブラシ色
340
-
341
- myPath5.Fill = Brushes.RoyalBlue; ////塗りつぶし色
342
-
343
- myPath5.StrokeThickness = 1; ////ブラシ太さ設定
344
-
345
- PathFigure myPathFigure = new PathFigure();
346
-
347
-
348
-
349
- ////ひし形を描画
350
-
351
- myPathFigure.StartPoint = new Point(100, 80); ////描画の開始座標
352
-
353
- myPathFigure.Segments.Add(new LineSegment(new Point(150, 130), true));
354
-
355
- myPathFigure.Segments.Add(new LineSegment(new Point(100, 180), true));
356
-
357
- myPathFigure.Segments.Add(new LineSegment(new Point(50, 130), true));
358
-
359
- myPathFigure.Segments.Add(new LineSegment(new Point(100, 80), true));
360
-
361
-
362
-
363
- PathGeometry myPathGeometry = new PathGeometry();
364
-
365
- myPathGeometry.Figures.Add(myPathFigure);
366
-
367
- myPath5.Data = myPathGeometry;
368
-
369
- Grid1.Children.Add(myPath5);
370
-
371
- }
372
-
373
- }
374
-
375
- }
376
-
377
- ```

1

コメントに記載していたサンプルコードを追加、実装したいこと、現在の不明点を追記。

2021/09/09 09:06

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -158,8 +158,6 @@
158
158
 
159
159
  ```
160
160
 
161
-
162
-
163
161
  ### 試したこと
164
162
 
165
163
  非MVVMでの図形描画ならGridの子要素にAddする形で図形をWPFに
@@ -177,3 +175,203 @@
177
175
  環境: Win10 、VS2019、C#
178
176
 
179
177
  フレームワーク:Prism、ReactiveProperty
178
+
179
+
180
+
181
+ ### 2021/07/15 追記
182
+
183
+ コメント欄に書いていたソースをこちらにの追加
184
+
185
+
186
+
187
+ 実現したいことは MainWindow.xaml.cs に実装している MenuItem7_Click() の多角形描画処理を
188
+
189
+ MVVM化して描画させたいと思っています
190
+
191
+
192
+
193
+ ### 実装に際しての不明点
194
+
195
+ どのようにコーディングすればWPF側に図を表示できるのかわからない状態です。
196
+
197
+ 今の私の理解では、JPG画像のようにImageにセットすればよいのか、追記したサンプルコードのように
198
+
199
+ 子要素の追加すればよいのか、よく理解できていません。
200
+
201
+
202
+
203
+ ### MainWindow.xaml
204
+
205
+ ```ここに言語名を入力
206
+
207
+ <Window x:Class="WpfApp1.MainWindow"
208
+
209
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
210
+
211
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
212
+
213
+ xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
214
+
215
+ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
216
+
217
+ xmlns:local="clr-namespace:WpfApp1"
218
+
219
+ mc:Ignorable="d"
220
+
221
+ Title="MainWindow" Height="500" Width="700">
222
+
223
+ <Grid>
224
+
225
+ <StackPanel Name="StackPanel1" VerticalAlignment="Top" Orientation="Horizontal">
226
+
227
+ <Menu Height="23" Name="Menu1">
228
+
229
+ <MenuItem Header="TEST項目" Name="MenuItem1">
230
+
231
+ <MenuItem Header="クリア" Name="MenuItem0" Click="MenuItem0_Click"/>
232
+
233
+ <MenuItem Header="サンプル多角形" Name="MenuItem7" Click="MenuItem7_Click"/>
234
+
235
+ </MenuItem>
236
+
237
+ </Menu>
238
+
239
+ </StackPanel>
240
+
241
+
242
+
243
+ <Grid Name="Grid1">
244
+
245
+ </Grid>
246
+
247
+ </Grid>
248
+
249
+ </Window>
250
+
251
+ ```
252
+
253
+
254
+
255
+ ### MainWindow.xaml.cs
256
+
257
+ ```ここに言語名を入力
258
+
259
+ using System;
260
+
261
+ using System.Collections.Generic;
262
+
263
+ using System.Linq;
264
+
265
+ using System.Text;
266
+
267
+ using System.Threading.Tasks;
268
+
269
+ using System.Windows;
270
+
271
+ using System.Windows.Controls;
272
+
273
+ using System.Windows.Data;
274
+
275
+ using System.Windows.Documents;
276
+
277
+ using System.Windows.Input;
278
+
279
+ using System.Windows.Media;
280
+
281
+ using System.Windows.Media.Imaging;
282
+
283
+ using System.Windows.Navigation;
284
+
285
+ using System.Windows.Shapes;
286
+
287
+
288
+
289
+ namespace WpfApp1
290
+
291
+ {
292
+
293
+ /// <summary>
294
+
295
+ /// Interaction logic for MainWindow.xaml
296
+
297
+ /// </summary>
298
+
299
+ public partial class MainWindow : Window
300
+
301
+ {
302
+
303
+ public MainWindow()
304
+
305
+ {
306
+
307
+ InitializeComponent();
308
+
309
+ }
310
+
311
+
312
+
313
+ private void MenuItem0_Click(object sender, RoutedEventArgs e)
314
+
315
+ {
316
+
317
+ Grid1.Children.Clear(); ////描画領域の初期化
318
+
319
+ }
320
+
321
+
322
+
323
+ /// <summary>
324
+
325
+ /// 多角形描画
326
+
327
+ /// </summary>
328
+
329
+ /// <param name="sender"></param>
330
+
331
+ /// <param name="e"></param>
332
+
333
+ private void MenuItem7_Click(object sender, RoutedEventArgs e)
334
+
335
+ {
336
+
337
+ Path myPath5 = new Path();
338
+
339
+ myPath5.Stroke = Brushes.Black; ////ブラシ色
340
+
341
+ myPath5.Fill = Brushes.RoyalBlue; ////塗りつぶし色
342
+
343
+ myPath5.StrokeThickness = 1; ////ブラシ太さ設定
344
+
345
+ PathFigure myPathFigure = new PathFigure();
346
+
347
+
348
+
349
+ ////ひし形を描画
350
+
351
+ myPathFigure.StartPoint = new Point(100, 80); ////描画の開始座標
352
+
353
+ myPathFigure.Segments.Add(new LineSegment(new Point(150, 130), true));
354
+
355
+ myPathFigure.Segments.Add(new LineSegment(new Point(100, 180), true));
356
+
357
+ myPathFigure.Segments.Add(new LineSegment(new Point(50, 130), true));
358
+
359
+ myPathFigure.Segments.Add(new LineSegment(new Point(100, 80), true));
360
+
361
+
362
+
363
+ PathGeometry myPathGeometry = new PathGeometry();
364
+
365
+ myPathGeometry.Figures.Add(myPathFigure);
366
+
367
+ myPath5.Data = myPathGeometry;
368
+
369
+ Grid1.Children.Add(myPath5);
370
+
371
+ }
372
+
373
+ }
374
+
375
+ }
376
+
377
+ ```