teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

見直しキャンペーン中

2023/07/29 07:46

投稿

TN8001
TN8001

スコア10104

answer 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

スコア10104

answer CHANGED
@@ -1,71 +1,71 @@
1
- 偶然同じ症状になった人の回答を期待しているんでしょうか?
2
- 「WPFのUserControl内で画像表示を使用した拡張機能を、共有プロジェクトで2022両対応しようとしている人」って日本中で何人いるんですかね?(全部当てはまる人って居ても数人レベルな気が)
3
-
4
- 私もしょうもない拡張機能を作ってますが、2022両対応はめんどくさそうで専用で作り直しました^^;
5
-
6
-
7
- そうでないならあまりに情報不足だと思います。
8
-
9
- * UserControl内じゃなくって直置きなら出るんですか?
10
- * 2019のほうなら出るんですか?
11
- * 画像はどのプロジェクトにどう追加されているんですか?
12
- * 使う側のxamlはどうなっていますか?
13
- * そもそも実行はできているんですか?
14
-
15
-
16
- 何か前提になるコードがないと話が通じにくいので、↓をベースに検証してみました。
17
- [VSSDK-Extensibility-Samples/AsyncToolWindow at master · microsoft/VSSDK-Extensibility-Samples](https://github.com/microsoft/VSSDK-Extensibility-Samples/tree/master/AsyncToolWindow)
18
-
19
- `Resources/Icon128x128.png`を、ツールウィンドウに出すだけです(本来はアイコン用だが面倒なのでそのまま画面用に使うためビルドアクションを`Resource`に変更)
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" />
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
- ```
45
-
46
- ```xaml
47
- <UserControl
48
- x:Class="AsyncToolWindowSample.ToolWindows.UserControl1"
49
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
50
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
51
- <Grid>
52
- <Image
53
- Width="64"
54
- Height="64"
55
- Source="../Resources/Icon128x128.png" />
56
- </Grid>
57
- </UserControl>
58
- ```
59
-
60
- こちらに沿って慎重に作業しました。
61
- [Visual Studio の拡張機能を更新する - Visual Studio (Windows) | Microsoft Docs](https://docs.microsoft.com/ja-jp/visualstudio/extensibility/migration/update-visual-studio-extension?view=vs-2022)
62
-
63
-
64
- ポイントはxamlで使う画像は共有プロジェクトでも共有ディレクトリなく、それぞれのVSIXプロジェクトに直接置くことだと思います(そうしないとvoid_nullさん同様、ビルドアクションを`Resource`にできなかったです)
65
-
66
-
67
- ![アプリ画像](04caa6b38b490c736b6504f891b5930e.png)
68
-
69
-
70
- はっきり言ってビルド通すことのほうが大変でした。
1
+ 偶然同じ症状になった人の回答を期待しているんでしょうか?
2
+ 「WPFのUserControl内で画像表示を使用した拡張機能を、共有プロジェクトで2022両対応しようとしている人」って日本中で何人いるんですかね?(全部当てはまる人って居ても数人レベルな気が)
3
+
4
+ 私もしょうもない拡張機能を作ってますが、2022両対応はめんどくさそうで専用で作り直しました^^;
5
+
6
+
7
+ そうでないならあまりに情報不足だと思います。
8
+
9
+ * UserControl内じゃなくって直置きなら出るんですか?
10
+ * 2019のほうなら出るんですか?
11
+ * 画像はどのプロジェクトにどう追加されているんですか?
12
+ * 使う側のxamlはどうなっていますか?
13
+ * そもそも実行はできているんですか?
14
+
15
+
16
+ 何か前提になるコードがないと話が通じにくいので、↓をベースに検証してみました。
17
+ [VSSDK-Extensibility-Samples/AsyncToolWindow at master · microsoft/VSSDK-Extensibility-Samples](https://github.com/microsoft/VSSDK-Extensibility-Samples/tree/master/AsyncToolWindow)
18
+
19
+ `Resources/Icon128x128.png`を、ツールウィンドウに出すだけです(本来はアイコン用だが面倒なのでそのまま画面用に使うためビルドアクションを`Resource`に変更)
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" />
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
+ ```
45
+
46
+ ```xaml
47
+ <UserControl
48
+ x:Class="AsyncToolWindowSample.ToolWindows.UserControl1"
49
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
50
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
51
+ <Grid>
52
+ <Image
53
+ Width="64"
54
+ Height="64"
55
+ Source="../Resources/Icon128x128.png" />
56
+ </Grid>
57
+ </UserControl>
58
+ ```
59
+
60
+ こちらに沿って慎重に作業しました。
61
+ [Visual Studio の拡張機能を更新する - Visual Studio (Windows) | Microsoft Docs](https://docs.microsoft.com/ja-jp/visualstudio/extensibility/migration/update-visual-studio-extension?view=vs-2022)
62
+
63
+
64
+ ポイントはxamlで使う画像は共有プロジェクトでも共有ディレクトリでもなく、それぞれのVSIXプロジェクトに直接置くことだと思います(そうしないとvoid_nullさん同様、ビルドアクションを`Resource`にできなかったです)
65
+
66
+
67
+ ![アプリ画像](04caa6b38b490c736b6504f891b5930e.png)
68
+
69
+
70
+ はっきり言ってビルド通すことのほうが大変でした。
71
71
  `UserControl`でだけ出ないとなると、相対パスが間違っているとかそんなんじゃないですかね?