回答編集履歴

2

見直しキャンペーン中

2023/07/29 07:46

投稿

TN8001
TN8001

スコア9862

test CHANGED
@@ -1,12 +1,12 @@
1
1
  偶然同じ症状になった人の回答を期待しているんでしょうか?
2
- 「WPFのUserControl内で画像表示を使用した拡張機能を、共有プロジェクトで2022両対応しようとしている人」って日本中で何人いるんですかね?(全部当てはまる人って居ても数人レベルな気が)
2
+ 「WPFの`UserControl`内で画像表示を使用した拡張機能を、共有プロジェクトで2022両対応しようとしている人」って日本中で何人いるんですかね?(全部当てはまる人って居ても数人レベルな気が)
3
3
 
4
4
  私もしょうもない拡張機能を作ってますが、2022両対応はめんどくさそうで専用で作り直しました^^;
5
5
 
6
6
 
7
7
  そうでないならあまりに情報不足だと思います。
8
8
 
9
- * UserControl内じゃなくって直置きなら出るんですか?
9
+ * `UserControl`内じゃなくって直置きなら出るんですか?
10
10
  * 2019のほうなら出るんですか?
11
11
  * 画像はどのプロジェクトにどう追加されているんですか?
12
12
  * 使う側のxamlはどうなっていますか?
@@ -18,7 +18,7 @@
18
18
 
19
19
  `Resources/Icon128x128.png`を、ツールウィンドウに出すだけです(本来はアイコン用だが面倒なのでそのまま画面用に使うためビルドアクションを`Resource`に変更)
20
20
 
21
- ```xaml
21
+ ```xml
22
22
  <UserControl
23
23
  x:Class="AsyncToolWindowSample.ToolWindows.SampleToolWindowControl"
24
24
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
@@ -43,7 +43,7 @@
43
43
  </UserControl>
44
44
  ```
45
45
 
46
- ```xaml
46
+ ```xml
47
47
  <UserControl
48
48
  x:Class="AsyncToolWindowSample.ToolWindows.UserControl1"
49
49
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
@@ -63,7 +63,6 @@
63
63
 
64
64
  ポイントはxamlで使う画像は共有プロジェクトでも共有ディレクトリでもなく、それぞれのVSIXプロジェクトに直接置くことだと思います(そうしないとvoid_nullさん同様、ビルドアクションを`Resource`にできなかったです)
65
65
 
66
-
67
66
  ![アプリ画像](04caa6b38b490c736b6504f891b5930e.png)
68
67
 
69
68
 

1

でも

2022/09/21 10:02

投稿

TN8001
TN8001

スコア9862

test CHANGED
@@ -1,141 +1,71 @@
1
1
  偶然同じ症状になった人の回答を期待しているんでしょうか?
2
-
3
2
  「WPFのUserControl内で画像表示を使用した拡張機能を、共有プロジェクトで2022両対応しようとしている人」って日本中で何人いるんですかね?(全部当てはまる人って居ても数人レベルな気が)
4
-
5
-
6
3
 
7
4
  私もしょうもない拡張機能を作ってますが、2022両対応はめんどくさそうで専用で作り直しました^^;
8
5
 
9
6
 
10
-
11
-
12
-
13
7
  そうでないならあまりに情報不足だと思います。
14
8
 
15
-
16
-
17
9
  * UserControl内じゃなくって直置きなら出るんですか?
18
-
19
10
  * 2019のほうなら出るんですか?
20
-
21
11
  * 画像はどのプロジェクトにどう追加されているんですか?
22
-
23
12
  * 使う側のxamlはどうなっていますか?
24
-
25
13
  * そもそも実行はできているんですか?
26
14
 
27
15
 
28
-
29
-
30
-
31
16
  何か前提になるコードがないと話が通じにくいので、↓をベースに検証してみました。
32
-
33
17
  [VSSDK-Extensibility-Samples/AsyncToolWindow at master · microsoft/VSSDK-Extensibility-Samples](https://github.com/microsoft/VSSDK-Extensibility-Samples/tree/master/AsyncToolWindow)
34
-
35
-
36
18
 
37
19
  `Resources/Icon128x128.png`を、ツールウィンドウに出すだけです(本来はアイコン用だが面倒なのでそのまま画面用に使うためビルドアクションを`Resource`に変更)
38
20
 
21
+ ```xaml
22
+ <UserControl
23
+ x:Class="AsyncToolWindowSample.ToolWindows.SampleToolWindowControl"
24
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
25
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
26
+ xmlns:local="clr-namespace:AsyncToolWindowSample.ToolWindows">
27
+ <StackPanel>
28
+ <TextBlock Text="ImageをToolWindowPaneに直置き" />
29
+ <Image
30
+ Width="64"
31
+ Height="64"
32
+ Source="../Resources/Icon128x128.png" />
39
33
 
34
+ <TextBlock Text="ImageをUserControlの中に" />
35
+ <local:UserControl1 />
36
+
37
+ <Button
38
+ HorizontalAlignment="Center"
39
+ VerticalAlignment="Center"
40
+ Click="Button_Click"
41
+ Content="Click me" />
42
+ </StackPanel>
43
+ </UserControl>
44
+ ```
40
45
 
41
46
  ```xaml
42
-
43
47
  <UserControl
44
-
45
- x:Class="AsyncToolWindowSample.ToolWindows.SampleToolWindowControl"
48
+ x:Class="AsyncToolWindowSample.ToolWindows.UserControl1"
46
-
47
49
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
48
-
49
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
50
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
50
-
51
- xmlns:local="clr-namespace:AsyncToolWindowSample.ToolWindows">
52
-
53
- <StackPanel>
51
+ <Grid>
54
-
55
- <TextBlock Text="ImageをToolWindowPaneに直置き" />
56
-
57
52
  <Image
58
-
59
53
  Width="64"
60
-
61
54
  Height="64"
62
-
63
55
  Source="../Resources/Icon128x128.png" />
64
-
65
-
66
-
67
- <TextBlock Text="ImageをUserControlの中に" />
68
-
69
- <local:UserControl1 />
70
-
71
-
72
-
73
- <Button
74
-
75
- HorizontalAlignment="Center"
76
-
77
- VerticalAlignment="Center"
78
-
79
- Click="Button_Click"
80
-
81
- Content="Click me" />
82
-
83
- </StackPanel>
56
+ </Grid>
84
-
85
57
  </UserControl>
86
-
87
58
  ```
88
59
 
89
-
90
-
91
- ```xaml
92
-
93
- <UserControl
94
-
95
- x:Class="AsyncToolWindowSample.ToolWindows.UserControl1"
96
-
97
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
98
-
99
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
100
-
101
- <Grid>
102
-
103
- <Image
104
-
105
- Width="64"
106
-
107
- Height="64"
108
-
109
- Source="../Resources/Icon128x128.png" />
110
-
111
- </Grid>
112
-
113
- </UserControl>
114
-
115
- ```
116
-
117
-
118
-
119
60
  こちらに沿って慎重に作業しました。
120
-
121
61
  [Visual Studio の拡張機能を更新する - Visual Studio (Windows) | Microsoft Docs](https://docs.microsoft.com/ja-jp/visualstudio/extensibility/migration/update-visual-studio-extension?view=vs-2022)
122
62
 
123
63
 
124
-
125
-
126
-
127
- ポイントはxamlで使う画像は共有プロジェクトでも共有ディレクトリなく、それぞれのVSIXプロジェクトに直接置くことだと思います(そうしないとvoid_nullさん同様、ビルドアクションを`Resource`にできなかったです)
64
+ ポイントはxamlで使う画像は共有プロジェクトでも共有ディレクトリでもなく、それぞれのVSIXプロジェクトに直接置くことだと思います(そうしないとvoid_nullさん同様、ビルドアクションを`Resource`にできなかったです)
128
-
129
-
130
-
131
65
 
132
66
 
133
67
  ![アプリ画像](04caa6b38b490c736b6504f891b5930e.png)
134
68
 
135
69
 
136
-
137
-
138
-
139
70
  はっきり言ってビルド通すことのほうが大変でした。
140
-
141
71
  `UserControl`でだけ出ないとなると、相対パスが間違っているとかそんなんじゃないですかね?