質問編集履歴
3
誤解を呼ぶ書き方を是正
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,4 +1,8 @@
|
|
1
1
|
### 解決方法
|
2
|
+
|
3
|
+
**他のプロセスに対して働きかける方法ではありません。**
|
4
|
+
|
5
|
+
実行ファイルを自作のプログラムから参照しています。そのためElementHostインスタンスへの参照を他プロセスから取得する部分はありません。
|
2
6
|
|
3
7
|
|
4
8
|
|
2
一応解決はしたので・・・
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,3 +1,33 @@
|
|
1
|
+
### 解決方法
|
2
|
+
|
3
|
+
|
4
|
+
|
5
|
+
`ElementHost.Child`プロパティを利用することで実現できました。
|
6
|
+
|
7
|
+
私の場合は以下のような流れで取得できました。
|
8
|
+
|
9
|
+
```c#
|
10
|
+
|
11
|
+
// この行まででObject controlとしてElementHostのインスタンスが存在するとします。
|
12
|
+
|
13
|
+
var eh = (System.Windows.Forms.Integration.ElementHost)control;
|
14
|
+
|
15
|
+
var cc = (System.Windows.Controls.ContentControl)eh.Child;
|
16
|
+
|
17
|
+
var pa = (System.Windows.Controls.Panel)cc.Content; // Gridである場合もあるかもしれませんね。
|
18
|
+
|
19
|
+
System.Windows.Controls.UIElementCollection children = pa.Children;
|
20
|
+
|
21
|
+
// なお、確実にChildrenの第1要素がButtonである場合は以下のように取得できています。
|
22
|
+
|
23
|
+
var button = (System.Windows.Controls.Button)children[0];
|
24
|
+
|
25
|
+
```
|
26
|
+
|
27
|
+
まんま[このページ](http://bbs.wankuma.com/index.cgi?mode=al2&namber=58626&KLOG=98)で見た書き方を利用しています。
|
28
|
+
|
29
|
+
|
30
|
+
|
1
31
|
### 前提・実現したいこと
|
2
32
|
|
3
33
|
|
1
誤解を呼ぶ書き方を是正
test
CHANGED
File without changes
|
test
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
-
他プロセスのプログラムに配置された`ElementHost`
|
5
|
+
他プロセスのプログラムに配置された`ElementHost`に含まれるコントロールを取得したい。
|
6
6
|
|
7
7
|
|
8
8
|
|